
数据结构基础
文章平均质量分 85
倔强的小虾米
I do what I do
展开
-
为什么mysql使用了B+tree和Hash表作为索引,他们两者的区别是什么?为什么不使用数组或平衡二叉树又或者采用B-Tree呢?
所有经历,皆有因由1.索引是什么?索引又为什么会出现?索引究其本质是一种对数据库表中的信息进行排序的数据结构,是为了更快的找到要操作的数据而产生的。类似于图书的目录,目录就是为了让读者更快的翻到想看的那一页。2.上面说到更快的找到要操作的数据,那么我们就假设没有索引来进行查找会出现什么问题?没有索引,我们查询就只能从上往下依次查找,这时的时间复杂度为O(N),计算机查询是通过磁盘IO,因此...原创 2020-03-21 14:52:02 · 515 阅读 · 0 评论 -
线索化二叉树理解
线索化二叉树:我的理解就是将一个复杂的非线性结构转化为线性结构,使每个节点都有前驱节点和后继节点。解决:解决了无法找到该节点在某种遍历序列的前驱和后继节点的问题,解决了二叉链表找左右节点的问题。这里我选择了中序线索化,并只粘出了关键代码进行理解分析节点对象public class Hero { private int id ; private String name; ...原创 2020-03-10 12:37:26 · 343 阅读 · 0 评论 -
双向链表有序插入
今天无意间翻开了数据结构,忽然扫到了双向链表,就想着重新把代码码一遍练练手。三两分钟就写完了,运行时就尴尬了。发现没有输出。于是我就debug了一下,就发现,每次插入的元素的pre竟然是元素本身经过调试后,发现pre为空,我意识到得重新把逻辑理一遍,于是稍作修改,测试通过...原创 2020-03-04 19:53:47 · 1609 阅读 · 11 评论