数据结构
文章平均质量分 53
我就是我,不一样的烟火
这个作者很懒,什么都没留下…
展开
-
数据结构 之树
树的概念 树(tree) 是一种抽象的数据类型(ADT) 获知实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由 n n(n>=1) 个有限节点组成一个具有层次关系的集合。把它叫做“树” 是因为它看起来像一棵树,也就是根朝上,而叶朝下的。它具有以下特点: 每个节点有0 个或多个子节点 没有父节点的节点称为根节点 每一个非根节点有且具有一个父节点 除了根节点,每...原创 2019-03-17 20:02:00 · 52 阅读 · 0 评论 -
二分查找
二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。常见方法:顺序查找,二分查找,二叉树查找,哈希查找。 原理 折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是:(这里假设数组元素呈升序排...原创 2019-03-16 21:32:00 · 63 阅读 · 0 评论 -
数据结构 之 栈与队列
栈 队列 栈的实现 顺序表实现 class Stack(object): """栈""" def __init__(self): self.__list = [] # 选用顺序表或链表 def push(self,item): """压栈""" self.__list.append(item) # 时间复杂度O(...原创 2019-03-16 18:29:00 · 35 阅读 · 0 评论 -
数据结构 之 链表
链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是...原创 2019-03-16 15:29:00 · 76 阅读 · 0 评论 -
数据结构之顺序表
顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录他们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)对于这种需求,最简单的解决方案是将这样一个元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种信息。这样一组序列元素的组织形式,我们可以将其抽象成线性表。...原创 2019-03-15 21:18:00 · 69 阅读 · 0 评论