随笔分类 -  数据结构与算法

data structures and algorithms
7.树与树算法
摘要:树与树算法 树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个 阅读全文
posted @ 2017-12-26 10:38 wei_hu 阅读(265) 评论(0) 推荐(0)
6.排序与二分查找
摘要:排序与搜索 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。 排序算法的稳定性 稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表 阅读全文
posted @ 2017-12-26 10:30 wei_hu 阅读(2657) 评论(0) 推荐(0)
5.队列
摘要:队列 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队 阅读全文
posted @ 2017-12-24 22:40 wei_hu 阅读(176) 评论(0) 推荐(0)
4.栈
摘要:栈 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一 阅读全文
posted @ 2017-12-24 22:36 wei_hu 阅读(125) 评论(0) 推荐(0)
3.链表
摘要:链表 为什么需要链表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 链表的定义 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一 阅读全文
posted @ 2017-12-24 22:31 wei_hu 阅读(172) 评论(0) 推荐(0)
2.顺序表
摘要:顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用 阅读全文
posted @ 2017-12-24 12:51 wei_hu 阅读(220) 评论(0) 推荐(0)
1.数据结构与算法概念
摘要:数据结构与算法(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 阅读(233) 评论(0) 推荐(0)