
数据结构
不秃头的程序员Zzz
这个作者很懒,什么都没留下…
展开
-
红黑树和平衡二叉树区别
红黑树和平衡二叉树区别如下: 1、红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。 2、平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。 ...原创 2019-11-19 21:47:25 · 881 阅读 · 0 评论 -
二叉树
满二叉树:一个深度为K 且有(2^k) -1个结点的二叉树称为满二叉树 完全二叉树:一个深度为 K且跟二叉树一一对应 。(补左原则) 节点个数n (2^(k-1)) -1 < n < = 2的k次方 -1 ...原创 2019-11-13 22:46:16 · 95 阅读 · 0 评论 -
红黑树的基础特征
红黑树 是一种特殊的平衡二叉搜索树 满足以下特征: ①从根节点开始 到叶子节点 经过的黑色节点数目一样 ②根节点必须为黑色 ③父子不能同为红原创 2019-11-13 22:14:54 · 152 阅读 · 0 评论 -
B+树
B+树是一种平衡二叉树 区别于B树 它是的一个关键字就指向一棵子树 所以 他每个节点关键字 的取值范围为 m/2向上取整 到 m 除了叶子节点外所有关键字都不保存信息,仅作为指针 所以数据都保存在叶子节点 剖析2:为什么B+树比B树更适合做系统的数据库索引和文件索引 1)B+树的磁盘读写代价更低 因为B+树内部结点没有指向关键字具体信息的指针,内部结点相对B树小 2)B+树的查询更加稳定 ...原创 2019-11-13 22:01:23 · 531 阅读 · 0 评论 -
B树
B树 翻译过来即 平衡的多路查找树 也是搜索树的一种 与平衡二叉树不同 一个节点可以有多个关键字 两个子树 夹着一个关键字 m阶B树:这里的m指 树的每个节点最多有m 个子树 则 除了叶节点 m阶B数 一个关键字 有 两个子树 两个关键字 有三颗子树 子树的数量由关键字定下来 而关键字 的多少 由 m/2向上取整 -1 到 m-1 个 B树的构成 给定关键字 ...原创 2019-11-13 16:14:24 · 98 阅读 · 0 评论 -
平衡树
平衡术是一种搜索树 所谓搜索树 即 做 一个节点的左孩子小于该节点 右孩子大于该节点 回到平衡树 即 一个节点的左子树的高度 和右子树的高度 的差的绝对值不超过1 万一插入某个节点导致某个节点的平衡因子超过二或 小于-2则 该节点称为被破坏者 我们找到 破坏者在被破坏者的相对位置即可做出相应旋转来使之恢复平衡 如果破坏者在被破坏者的左子树的左边 成为 LL 旋 如果破坏者在被破坏者的右...原创 2019-11-13 14:30:49 · 134 阅读 · 0 评论 -
希尔排序
import com.sun.tools.javac.Main; /** * @author 许泽鑫 * @data 2019/11/13 - 10:08 */ public class shellsort { public int[] ShellSort(int[]a){ int N = a.length; for(int group = N/2;...原创 2019-11-13 10:21:02 · 190 阅读 · 0 评论 -
直接插入排序
public class insersort { public int[] inserSort(int[] a ){ int inserNum; for(int i = 1;i < a.length;i++){ inserNum = a[i]; int j = i -1; whi...原创 2019-11-13 08:57:23 · 80 阅读 · 0 评论 -
数据结构 的分类
数据结构 = 逻辑结构 + 存储结构 +操作 逻辑结构又可分为 线性结构 和 非线性结构 其中线性结构 包括 线性表 栈 和队列 这三种基本结构 非线性结构 包括:树 和图 两种结构 再者 存储 结构包括 顺序存储 链式存储 索引存储 离散存储(又称为哈希存储) 顺序存储指 数据元素在内存是被连续存储的。地址连续 顺序存储的优点是 易查找, 缺点是 难 删增 。。每次删增都要把大...原创 2019-09-25 17:29:58 · 157 阅读 · 0 评论