队列(Queue)的用途十分广泛,可以说在计算机中,一切与时间有关、执行有先后顺序的事件都与队列有关。队列分为链式队列和静态队列两种,前者通过链表实现,而后者通过数组模拟。本文着重讨论链式队列的基本操作。 阅读全文
什么是动态规划?动态规划的意义是什么?
本文转自知乎回答:什么是动态规划?动态规划的意义是什么? - 阮行止的回答 - 知乎
1. 从一个生活问题谈起
先来看看生活中经常遇到的事吧——假设您是个土豪,身上带了足够的1、5、10、20、50、100元面值的钞票。现在您的目标是凑出某个金额w,需要用到尽量少的钞票。
栈基本操作的实现(链式栈)
学习完链表后再学习栈,不难发现栈其实是一个简化版的链表。由于其“First in,last out(先进后出,FILO)”的特性,就决定了我们只能在栈顶对栈进行压栈和出栈操作。 阅读全文
单向链表基本操作的实现
单链表是数据结构知识体系中承上启下的部分,掌握单链表的创建、遍历、排序、插入等基本操作,对下面学习栈、队列、树、图起着非常重要的作用。 阅读全文