python数据结构
记录一下自己学python数据结构的过程,就当记笔记了
*Heygirl
不断学习让自己变得更幸运
展开
-
树与算法----二叉树的实现
树与树算法 树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父节点; 除了根节点外,每个子节点可以分为多个不相交的子树; 比如说: 树的术语 节点的度:一个节点含有的子树的个原创 2020-08-01 21:21:31 · 552 阅读 · 0 评论 -
栈与队列
栈与队列 栈 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。 由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。 栈结构实现 栈可以用顺序表实现,也可以用链表实现。 栈的操作原创 2020-07-29 22:04:13 · 110 阅读 · 0 评论 -
单向循环链表
单向循环链表 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。 操作 is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(item) 在尾部添加一个节点 insert(pos, item) 在指定位置pos添加节点 remove(item) 删除一个节点 search(item) 查找节点是否存在 代码实现 class Node(object):原创 2020-07-29 17:56:04 · 125 阅读 · 0 评论 -
双向链表
双向链表 一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。 代码实现 class Node(object): def __init__(self, elem): self.elem = elem # 后继节点 self.next = None # 前驱节点 self.prev = None原创 2020-07-28 23:08:44 · 96 阅读 · 0 评论 -
数据结构(python) —— 单链表
单链表 完整代码 class Node(object): """单链表的节点""" def __init__(self, elem): # elem 节点存放的数据元素 self.elem = elem # next 下一个节点的标识(地址) self.next = None class SingleLinkList(object): """单链表""" def __init__(self, no原创 2020-07-21 10:57:45 · 77 阅读 · 0 评论 -
算法与数据结构(python) -- (2)
线性表1.线性表 --- 顺序表顺序表的形式顺序表的结构与实现顺序表的结构顺序表的两种基本实现方式元素存储区替换元素存储区扩充顺序表的操作增加元素删除元素Python中的顺序表list的基本实现技术2. 线性表 --- 链表 1.线性表 — 顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素原创 2020-07-12 11:49:54 · 131 阅读 · 0 评论 -
算法与数据结构(python) -- (1)
算法+结构1.提出问题:直接上代码2.算法的提出算法的概念算法的五大特性3.算法效率衡量执行时间反应算法效率单靠时间值绝对可信吗?时间复杂度与“大O记法”如何理解“大O记法”最坏时间复杂度4.Python内置类型性能分析timeit模块5.操作测试6.数据结构概念算法与数据结构的区别抽象数据类型(Abstract Data Type) 1.提出问题: 如果 a+b+c=1000,且 a2+b2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合? 直接上代码 import time def原创 2020-07-11 13:31:10 · 140 阅读 · 0 评论