2017年12月24日

摘要: 队列 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队 阅读全文
posted @ 2017-12-24 22:40 wei_hu 阅读(176) 评论(0) 推荐(0)
 
摘要: 栈 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一 阅读全文
posted @ 2017-12-24 22:36 wei_hu 阅读(125) 评论(0) 推荐(0)
 
摘要: 链表 为什么需要链表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 链表的定义 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一 阅读全文
posted @ 2017-12-24 22:31 wei_hu 阅读(172) 评论(0) 推荐(0)
 
摘要: 顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用 阅读全文
posted @ 2017-12-24 12:51 wei_hu 阅读(221) 评论(0) 推荐(0)
 
摘要: 数据结构与算法(Python) 引入 先来看一道题: 如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合? 第一次尝试 运行结果: 注意运行的时间:214.583347秒 算法的提出 算法的概念 算法是计算机处理信息的本质,因为计算机程序 阅读全文
posted @ 2017-12-24 12:35 wei_hu 阅读(234) 评论(0) 推荐(0)