数据结构
文章平均质量分 80
t_wu
这个作者很懒,什么都没留下…
展开
-
二叉排序树
1.定义 二叉排序树(BinarySortTree)定义如下:二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;由定义可知二叉排序树左子树结点值小于它的根节点值,右子树的值大于它的根节点值。如图所示。2....原创 2018-04-14 20:07:07 · 540 阅读 · 0 评论 -
判断二叉树是否为二叉排序树
1.二叉排序树定义 二叉排序树(BinarySortTree)定义如下:二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;2.判断方法 已知二叉排序树的中序遍历后的顺序是递增的,所以解决方法是以非递归的中序...原创 2018-04-14 21:19:54 · 6740 阅读 · 0 评论 -
图的广度优先遍历(邻接表)
1.广度优先遍历 图的广度优先遍历类似于数的层序遍历,它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域。以上便是广度优先遍历的一次过程(没循环)for 循环存放顶点的数组 如果当前顶点值未被访问过 访问它并且将它对应的判断数组变为true 将它入队 w...原创 2018-04-13 22:52:42 · 23430 阅读 · 0 评论 -
图的深度优先遍历(邻接表)
1.深度优先遍历 图的深度优先遍历是从图的某个顶点出发,访问这个顶点,然后从v的没访问过的邻接点出发深度优先遍历图,直到图中所有和v有路径相通的顶点都被访问到。而以上是对应连通图而言,对于非连通图,先对它的连通分量进行深度优先遍历,,若图中还有顶点未被访问,则选择图中一个未曾被访问的顶点作为起始点,重复上述过程,直到图中全部顶点被访问。假设从0开始进行未循环深度优先遍历,则顺序是这样...原创 2018-04-13 22:52:41 · 42573 阅读 · 1 评论 -
用堆实现优先级队列(Priority Queue)
1.优先级队列定义: 优先级队列(priority queue) 是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有(1)查找(2)插入一个新元素 (3)删除 一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素 。 对于优先权相同的元素,可按先进先出次序处理或按任意优先权进行。2.优先级队列的实现方案 优先级队列的实现既要兼顾成本,也要兼顾效率 ...原创 2018-04-13 22:52:38 · 5296 阅读 · 2 评论 -
python3.6实现跳表
实现:原理什么的别人的博客有很多,我这就给个链接。 数据结构—–跳表 跳表 skiplist使用一个类表示跳表的节点#跳跃表节点的类class SNode: def __init__(self,key=None,value=None): #键 self.key=key #index表示数组中最末的元素 ...原创 2018-07-17 13:59:37 · 1888 阅读 · 1 评论