Python3 数据结构与算法
个人笔记
kudou1994
这个作者很懒,什么都没留下…
展开
-
Python3 树 | 二叉树的实现 遍历二叉树 二叉排序树 查找 插入 删除
一、树 非线性结构 根在顶层 root 叶在下面 除了上面的一个根节点都叫子节点(统称为节点) 根节点是唯一一个没有入边的节点 除了根节点外每个节点都有且只有一条与其他节点相连的入边(指向该节点的边),每个节点可能有许多跳出边(从该节点指向其他节点的边) 路径:有序排列,路径是唯一的 子节点集:父节点的所有“孩子” 父节点: 兄弟节点:同一个节点的所有子节点互为兄弟节点 子树:一个父节点的某个子...原创 2019-08-18 03:51:20 · 536 阅读 · 0 评论 -
Python3 线性数据结构 | 数组 栈 队列 链表
数组 python没有数组,但是list可以充当数组的作用 栈 一个开口,后进先出,直接使用list实现 list.append() #push入栈,进入队列末尾 list.pop() #pop出栈,末尾先出 队列 两个开口,先进先出,直接使用list效率很低(insert),使用collections.deque提供的双端队列 我们使用l.append() #最右端入队 和 l.popleft...原创 2019-08-17 17:49:24 · 324 阅读 · 0 评论 -
Python3 数据结构笔记 | 查找 排序 树
个人笔记复习用 课程链接:中国大学MOOC:大学计算机–Python算法实践 查找算法 #顺序查找 x = int(input('输入要查找的数:')) l = [1,2,3,4,5,5] sign = False for i in l: if i ==x: print('找到了') sign = True break if sign == ...原创 2019-08-15 01:54:55 · 213 阅读 · 0 评论 -
Python3 排序算法总结笔记
一、插入排序 1. 简单插入排序 共n-1轮 时间复杂度:O(N)-O(N2) 平均为O(N2) 空间复杂度:O(1) 稳定性:稳定(temp < l[j-1]才满足,相等的时候不交换位置) 复杂性:简单 特点:用直接插入排序,原序列越接近有序序列(逆序的个数越少),比较次数越少 l = [5,3,87,4,12,54,8,5,66] def insertSort(l): for...原创 2019-08-17 00:48:53 · 285 阅读 · 0 评论