算法
xiaozhu0301
这个作者很懒,什么都没留下…
展开
-
二叉堆
什么是二叉堆? 二叉堆本质上是一种完全二叉树,它分为两个类型: 1.最大堆 2.最小堆 什么是最大堆呢?最大堆任何一个父节点的值,都大于等于它左右孩子节点的值。 什么是最小堆呢?最小堆任何一个父节点的值,都小于等于它左右孩子节点的值。 二叉堆的根节点叫做堆顶。 最大堆和最小堆的特点,决定了在最大堆的堆顶是整个堆中的最大元素;最小堆的堆顶是整个堆中的最小...转载 2019-07-04 11:20:29 · 143 阅读 · 1 评论 -
链表逆序
链表逆序的本质就是把没一个节点原本指向的下一个节点的next指针倒转过来,指向它的前置节点 让我们从链表头部开始,建立三个临时节点的引用,分别为p1,p2,p3。它们分别指向头节点、第二个节点、第三个节点。 实现链表逆序的完整步骤如下: 1.以p2节点为视角,把p2节点原本指向p3的next指针倒转,指向p1。 2.三个临时节点引用p1,p2,p3分别向后移动一格位置。...转载 2019-07-04 17:32:27 · 3690 阅读 · 0 评论 -
红黑树
二叉查找树(BST) 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 下图为一个二叉查找树 在插入节点时,会造成 从而使得查找速度大打折扣,几乎变成了线性结构。 解决二叉查找树多次插入新节点的不平衡问题有红黑树,AVL树,树堆…… 下面介绍一下红黑树: 红黑树是一种自平衡的二叉...原创 2019-08-19 18:24:25 · 160 阅读 · 0 评论