
数据结构
ai-exception
Github: https://github.com/DmrfCoder;
Gmail: xuefanggang97@gmail.com;
QQ:2296452542
展开
-
堆和不相交集数据机构——堆
堆在很多情况下我们需要使用一种具有插入元素和查找最大值元素的数据结构,这种数据结构叫做优先队列,如果采用普通队列,那么寻找最大元素需要搜索整个队列,开销比较大;如果使用排序数组,插入运算就需要移动很多的元素,开销也会比较大。这时候堆就是一种有效的实现优先队列的数据结构。堆的特点:父节点大于等于子节点(但是两个子节点之间的大小关系没有要求),这样可以做到沿着每条从根节点到叶子节点的路径...原创 2018-04-29 10:37:08 · 314 阅读 · 0 评论 -
八大常见排序算法介绍
直接插入排序算法思想首先将第二个数与第一个数进行对比,如果第二个数比第一个数小,则将第二个数插入到第一个数之前,这样保证前两个数是有序的; 接下来将第三个数与前两个数对比,发现有比第三个数大的数即将第三个数插入到对应数的前面,这样一次插入可保证前三个数是有序的; 以此类推,将后面的i个数分别其前面的i-1个数进行对比,并将其插入到第一个比其大的数前面,最后即可完成排序。时间原创 2018-01-13 21:26:07 · 270 阅读 · 0 评论 -
判断一棵二叉树是否是完全二叉树的方法
主要思路是利用二叉树层次遍历的原理开始对二叉树进行层次遍历,特殊点在于遍历的时候将NULL也入队作为标记,如果当遍历到NULL的时候队列中仍然后feiNULL元素未被遍历,说明该二叉树中有非空点在空点的右边,即不是完全二叉树。原创 2017-11-22 23:38:00 · 387 阅读 · 0 评论 -
数据结构之二叉树的遍历算法合集
摘要:今天用C撸了一遍数据中二叉树常见操作的实现,将实现过程中感觉有意思的几个功能实现记录下来方便以后复习~先序遍历递归实现原创 2017-11-22 22:55:56 · 422 阅读 · 0 评论 -
平衡二叉树、B树、B+树,B*树的区别与联系
平衡二叉树定义:基于二分法的策略提高数据的查找速度的一种二叉树数据结构;特点:平衡二叉树是采用二分法思想把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程遵循以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值(这...原创 2019-05-29 11:20:34 · 10724 阅读 · 1 评论