算法和数据结构
文章平均质量分 81
weixin_44675290
这个作者很懒,什么都没留下…
展开
-
数据结构-最小堆
数据结构-最小堆实现什么是最大最小堆如何构建最小堆上浮构建下沉构建最大堆的crud关于堆排序实现代码 什么是最大最小堆 在一个二叉树的逻辑结构中,所有的父节点都比子节点大的就是最大堆,父节点比子节点小的为最小堆。不难看出堆顶的就是整个堆的最大或者最小值。一般像优先队列的实现方式就是利用了最大最小堆的数据结构,每次出堆的都是优先级高的。该结构物理层次上仍然是用最高效的数组结构,而对于二叉树的逻辑结构是通过数组下标来表示,数组的第一个元素就是最大或者最小值。 如何构建最小堆 上浮构建 以逐个插入的方式思考,后原创 2021-12-08 12:36:08 · 1212 阅读 · 0 评论 -
全网最强红黑树的理解和实现
红黑树我估计花费了30个小时左右来理解,看了各种视频和文章,以及阅读treemap的源码,最终自己java实现了一版。 红黑树的理解最重要最重要是 要理解234树,红黑树是由234树演变过来的。任何一颗红黑树都可以转变成一棵234树。对于234树我就这里不说了,自己百度下。 红黑树与234树的等价关系 2节点 对应 红黑树 就是一个单独的黑色节点 3节点 对应 红黑树 上黑下红 ,这里有2种 上黑左红 和上黑右红 4节点 对应 红黑树 上黑下面2个红 这3个关系牢记在心,我们其实可以看出每个节点都会只原创 2021-10-06 23:29:59 · 216 阅读 · 1 评论