摘要: 1. 满二叉树(full binary tree) 如果二叉树的高度为 h,树的节点数为 2^h 1,h≥0,就称此树为满二叉树。 2. 完全二叉树(complete binary tree) 如果二叉树的高度为 h,树的节点数小于 2^h 1,编号从上到下、从左到右一一对应(如果只有一个子树,必须 阅读全文
posted @ 2019-10-29 18:01 catyuang 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 图的遍历 深度优先遍历 有些类似前序遍历,从图的某一顶点开始遍历,被访问过的顶点就做上已访问的记号,接着遍历此顶点所有相邻且未访问过的顶点中的任意一个顶点,并做上已访问的记号,再以该点为新的起点继续进行深度优先的搜索。 这种遍历方法结合了递归和堆栈两种数据结构的技巧,由于此方法会造成无限循环,因此必 阅读全文
posted @ 2019-10-29 18:01 catyuang 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 二者均是抽象数据类型( Abstract Data Type, ADT ) 堆栈在 Python 中包含两种方式,分别是数组结构(以List仿真数组结构)和链表结构 用数组实现堆栈 设计算法简单。但是,如果堆栈本身大小是可以变动的,而数组大小只能事先规划和声明好,那么数组规划大了会浪费空间,小了不够 阅读全文
posted @ 2019-10-29 18:00 catyuang 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1. 静态数据结构( static data structure ) 数组:使用连续分配的内存空间( contiguous allocation )来存储有序表中的数据。读取修改任一元素的时间都是固定的,删除加入数据时需要移动大量的数据。 在建立静态数据结构的初期就必须声明最大可能要占用的固定内存空 阅读全文
posted @ 2019-10-29 18:00 catyuang 阅读(158) 评论(0) 推荐(0) 编辑