![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
一真居士
雕琢自身,重在忍耐。
展开
-
手搓跳表——SkipList
public class SkipList { /** * 节点晋升索引的概率 */ private static final double PROMOTE_RATE = 0.5; /** * 描述跳表中头节点,哨兵 */ private Node head; /** * 描述跳表中尾节点,哨兵 */ private Node tail; /** * 当前索引层的高度 *.原创 2020-08-25 19:59:42 · 246 阅读 · 0 评论 -
数据结构——二叉堆
public class HeapSort { /** * 上浮调整小顶队 * * @param arr */ public void upAdjust(int[] arr) { //获取做后一个叶子结点A的位置 int targetSon = arr.length - 1; //获取该叶子...原创 2020-04-24 13:36:54 · 100 阅读 · 0 评论 -
数据结构——二叉搜索树之节点删除
/** * 二叉搜索树的删除一般分为三种情况; * 1. 要删除的节点本身是叶子结点 -> 直接删除 * 2. 要删除的节点本身只有一个孩子节点 -> 用孩子节点替换他 * 3. 要删除的节点本身有两个孩子节点 -> 找到该节点A 的后继节点(比该节点大的最小节点,也就是右子树的最左叶子结点)B 然后用B替换A 最后再右子树中删除B(又可以...原创 2020-04-21 12:54:22 · 878 阅读 · 0 评论 -
使用链表实现LIFO栈
/** * @Author Mr.wei * @Date 2019/7/31 8:58 * @Description:使用链表实现下压栈,在这样的实现中永远都只操作表头 */ public class Stack<T> implements Iterable<T> { /** * 指向链表第一个节点 */ private Nod...原创 2019-07-31 09:50:43 · 302 阅读 · 0 评论