![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 77
Captain-223
这个作者很懒,什么都没留下…
展开
-
二叉搜索树升级版——平衡二叉树
平衡二叉树平衡二叉树是基于二叉搜索树的。由于二叉搜索树中,最坏可能出现O(n)的时间复杂度。所以平衡二叉树对二叉搜索树做了改进。增加了维护平衡机制,让每一个节点的平衡因子绝对值都不会超过1。让平衡二叉树的查找、插入的时间复杂度都达到了O(logn)。维护平衡机制维护平衡的详细机制,可以查看这篇文章:[详细图文——AVL树][https://blog.csdn.net/qq_25343557/article/details/89110319]。本文也参考自这篇文章。LL表示,插入当前节点的左子树的左原创 2021-03-17 14:13:15 · 245 阅读 · 3 评论 -
看跳表(SkipList)如何把链表插入、查找元素的时间复杂度提高到接近log(n)
这里写自定义目录标题前言什么是跳表呢?跳表结构解释查找元素插入元素JAVA实现使用场景举例对整数排序和查找对自定义类型排序和查找ElasticSearch的联合索引前言链表是一种基本的数据结构,它有许多优缺点。优点:可以动态增删元素,不需要提前申请内存,不存在内存浪费插入删除元素效率高,不需要移动元素充分利用内存碎片缺点:不支持随机访问,要找一个元素,只能从头到尾遍历查找元素的时间复杂度为O(n)插入、删除元素后保持有序的时间复杂度为O(n)因此链表一般是用在需要频繁插入或删除原创 2021-02-28 14:57:35 · 1891 阅读 · 0 评论 -
迷宫寻路
迷宫寻路之BFS最短路径算法写博客记录一下,还望大神指点。BFS又叫广度优先搜索算法,就是利用队列这个数据结构与while循环,以发散搜索的方式一层一层的去遍历整个图。这个一层一层比较重要,因为刚好是这个东西能让我们找到迷宫的最短路径。BFS的基本思路就是:初始化队列,将起始节点放入队尾While(队列不为空)–取出队头节点Node–弹出队头节点Node–判断当前节点是否为...原创 2019-04-23 17:52:26 · 405 阅读 · 0 评论