数据结构
明天也要加油鸭
加油,加油,再加油!
展开
-
B树、B-树、B+树、B*树之间的关系
B树 B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为...转载 2019-05-06 09:32:32 · 610 阅读 · 0 评论 -
数据库中的索引实现原理
这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。文章写得很通俗易懂,就转在这了。关于B+树和索引内部结构可以参考:《B 树、B- 树、B+ 树和B* 树》和《深入理解DB2索引(Index)》。00 – 背景知识- B-Tree &...转载 2019-05-13 21:15:43 · 427 阅读 · 0 评论 -
【持续更新】面试中的二叉树
目录1、二叉树中节点数2、统计二叉树叶子节点数3、二叉树的深度4、二叉树的深度优先遍历5、二叉树广度优先遍历(层次遍历)6、判断二叉树是否平衡7、二叉树的镜像8、二叉树最右节点9、重建二叉树(已知前序遍历和中序遍历序列)10、判断两颗二叉树是否相等11、输出二叉树第k层节点数12、按层换行输出二叉树各节点的value树是数据结构中的重中之重,尤其...原创 2019-06-02 18:45:11 · 630 阅读 · 0 评论 -
【持续更新】面试中的链表
目录1、链表倒数第k个结点2、反转链表3、合并排序链表4、复杂链表的复制5、两个链表的第一个公共结点6、链表中换的入口7、删除链表中重复节点8、单链表的中间节点9、从尾到头打印链表10、删除指定节点11、反转链表从N到M节点12、判断链表是否有环链表是一种最基本的数据结构,在面试中常用来考察应聘者的基本功。指针操作是C/C++中的难点,也是易错点...原创 2019-06-02 13:50:10 · 491 阅读 · 0 评论 -
【动态规划】01背包问题(通俗易懂,超基础讲解)
目录总体思路动态规划的原理背包问题的解决过程代码实现背包问题最优解回溯代码实现有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?为方便讲解和理解,下面讲述的例子均先用具体的数字代入,即:eg:number=4,capacity=8i(物品编号) 1 2 3 4 w(体积) 2 ...转载 2019-04-29 21:53:31 · 467 阅读 · 0 评论 -
AVL树(平衡二叉树)
AVL树(平衡二叉树):AVL树本质上是一颗二叉查找树,但是它又具有以下特点:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为平衡二叉树。下面是平衡二叉树和非平衡二叉树对比的例图: 平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1<=bf<=1;...转载 2019-05-28 10:39:31 · 1233 阅读 · 0 评论 -
森林、树与二叉树相互转换
森林、树与二叉树相互转换1、森林转二叉树 (1)、把每棵树转换为二叉树 (2)、第一棵二叉树不动,从第二棵二叉树开始,一次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子,用线连接起来。转换规则:兄弟相连,长兄为父,孩子靠左。 2、树转二叉树 (1)、加线。在所有的兄弟结点之间加一条线。 (2)、去线。树中的每个结点,...转载 2019-05-17 15:23:16 · 1116 阅读 · 0 评论 -
卡特兰数
什么是卡特兰数?卡特兰(Catalan)数来源于卡特兰解决凸n+2边形的剖分时得到的数列Cn,在数学竞赛、信息学竞赛、组合数学、计算机编程等方面都会有其不同侧面的介绍.卡特兰问题的解决过程应用了大量的映射方法,堪称计算的映射典范的典范. 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 :1, 2, 5, 14, 42,132, 429, 1430, 4862, 1679...原创 2019-05-11 15:07:32 · 1977 阅读 · 0 评论 -
漫画:什么是 B+ 树?
转载自:伯乐专栏作者/玻璃猫,微信公众号 - 梦见 漫画:什么是b+树这一次我们来介绍 B+ 树。 一个m阶的B树具有如下几个特征: 1.根结点至少有两个子女。 2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m 3.每一个叶子...转载 2019-05-06 18:09:34 · 333 阅读 · 0 评论 -
思考:对一亿个int型整数排序,哪种排序算法效率最高?
下图是常见排序算法的最好,最坏,平均时间复杂度、空间复杂度,稳定性总结表。直接看表格,综合时间复杂度、空间复杂度等各种因素,目测堆排序是最优选择。不管最好、最坏还是平均情况,时间复杂度都是O(nlogn),而且还不像快排排序和归并排序那样占空间,计数排序、基数排序、桶排序空间复杂度太大,需要消耗大量额外空间。快速排序和堆排序接下来亲自比较一下,快速排序和堆排序到底谁效率更高。附上...原创 2019-06-22 11:13:48 · 4626 阅读 · 0 评论