红黑树的插入与删除

转载自: http://blog.csdn.net/very_2/article/details/5722682 介绍另一种平衡二叉树:红黑树(Red Black Tree),红黑树由Rudolf Bayer于1972年发明,当时被称为平衡二叉B树(symmetric binary B-tr...

2016-04-04 18:02:48

阅读数:300

评论数:0

看数据结构写代码(67) 置换 _ 选择排序(完结篇)

杂谈: 严蔚敏版《数据结构(C语言版)》 一书 终于看完了。这是 一个完结,也是 一个新的开端。《算法导论》 已到手。 置换选择排序的思想 是 将 归并段 尽量 变的 更大,而不是根据 内存 大小 限制在 固定的 大小。 这样 可以 利用赫夫曼树 来 进行 最优归并树,从而 使 外存 读写次数 ...

2015-05-06 08:58:17

阅读数:476

评论数:0

看数据结构写代码(66) 败者树

计算机的 内存 是 有限的,无法 存入 庞大的数据。当 遇到 大数据需要排序时,我们 需要 将 这些 数据 分段 从 硬盘里 读到 内存中,排好序,再 写入到 硬盘中,这些段 叫做 归并段。最后将 这些 分段 合并 成 一个 最终  完整 有序的 数据。  这里 操作的 时间 =  内部 排序...

2015-05-05 08:56:17

阅读数:766

评论数:0

看数据结构写代码(65) 基数排序

欢迎指出代码不足 参考书本:严蔚敏《数据结构 .C语言版》 // RadixSort.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #define MAX_SIZE 1000//最大空间 #define RADIX 10//关键...

2015-05-04 09:53:55

阅读数:1288

评论数:1

看数据结构写代码(64) 归并排序

参考网址:http://blog.csdn.net/morewindows/article/details/6678165 // MergeSort.cpp : 定义控制台应用程序的入口点。 //归并排序 #include "stdafx.h" #include //合...

2015-05-03 12:12:04

阅读数:449

评论数:0

看数据结构写代码(63) 堆排序

// HeapSort.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #define LIST_MAX_SIZE 100 //顺序表 struct sqList{ int base[LIST_MAX_SIZE];...

2015-05-02 23:28:35

阅读数:353

评论数:0

看数据结构写代码(62) 插入排序

// InsertSort.cpp : 定义控制台应用程序的入口点。 //插值排序 #include "stdafx.h" #include static int testArray[] = {0,55,33,22,99,77,66,11,44,88,9};//11个 ...

2015-05-02 13:40:13

阅读数:531

评论数:0

看数据结构写代码(61) 哈希表

前面说的 各种查找都是 基于 “比较” 的基础 来进行 查找的。查找的 效率 要 看 比较的 次数。那么 有没有 不需要 比较,就可以 找到 想要的数据的 方法呢? 哈希表 就是 这样的 一种方法,它用  数组 作为 保存 关键字的 数据原型,通过 一个 哈希 函数f(k),来找到 关键字 存储的...

2015-04-30 10:14:46

阅读数:427

评论数:0

看数据结构写代码(60 ) 键树的多重链表表示(Trie树)

trie树,是用 树的 多重链表来表示 树的。每个节点 有 d 个指针域。若从键树中的某个节点到叶子节点的路径上每个节点都只有一个孩子,则可以把 路径上的所有节点压缩成一个叶子节点,且在叶子节点中 存储 关键字 以及 根关键字相关的信息。 当节点的度 比较大时,选择 Trie树,要比 双链表树更...

2015-04-29 12:35:06

阅读数:1141

评论数:0

看数据结构写代码(59) 键树的双链表示法

杂谈; 打败自己的 往往不是敌人,而是自己。坚持不易,且行且珍惜。 键树 是一种 把  把  非叶子节点 当成索引,叶子节点保存具体信息的一种树。 例如:   它的 键树形式如下: 键树 有 两种 表示 方法:1. 双链表 表示法 ,就是 树的 孩子链表 表示法   2.多重链表表示法(...

2015-04-28 21:59:51

阅读数:659

评论数:0

看数据结构写代码(58) B-树

B-树 一种 自平衡的 多路 查找树。它在文件系统里很有用。 一个m阶的B-树,要么是空树,要么是满足这些特性的树。、 1.树 最多 有 m个分支。 2.树的根 最少 两个子树。 3. 树的非终端叶子节点 最少  m/2 向上 取整   个 子树。 4.所有叶子节点 都在 一层。 它的节点 结...

2015-04-24 12:16:55

阅读数:665

评论数:0

看数据结构写代码(57) AVL树的删除

上一节 已经说了 AVL树的插入 操作,可是 只有 插入,没有删除,怎么能叫 动态 查找表呢。 呵呵,博主 赶紧 去 研究了一番。下面 是成果: AVL树的删除 大致 分为 两大块: 1. 查找节点 并 删除 2. 保持 删除 后 平衡因子的 影响 1. 首先 找到 这个 节点,如果 节点...

2015-04-22 11:46:08

阅读数:557

评论数:0

看数据结构写代码(56) 平衡二叉树(AVL树)

平衡二叉树的定义 (AVL—— 发明者为Adel'son-Vel'skii 和 Landis)   平衡二叉查找树,又称 AVL树。 它除了具备二叉查找树的基本特征之外,还具有一个非常重要的特点:它 的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值(平衡因子 ) 不超过1。 ...

2015-04-21 14:28:42

阅读数:600

评论数:0

看数据结构写代码(55) 二叉排序树

二叉排序树 是一种 动态 查找树,它的 创建 是在 查找中 生成的。 当 查找 失败时,它将 数 插入到 合适的 位置中去。 二叉查找树的 左子树上的值 父亲的 值 小,而 右子树上的值 总是 比 父节点 大。这样 查找 类似与 二分 查找,其 最多 查找 的 次数 等于 树的 深度。 ...

2015-04-20 20:44:56

阅读数:515

评论数:0

看数据结构写代码(54)次优查找树

查找顺序表时,若 每个元素的概率 都相等 用 二分查找 效率 最高。但是 如果 概率 不相等时,(SOST)静态最优查找表 效率 要高于 二分查找。静态最优查找表 是 使得 从 根 到 每个节点的路径 长度 和 权值 乘积 之和 最小。 书上说的 静态最优 查找树的创建 时间 复杂度 较高,所以...

2015-04-20 14:59:04

阅读数:453

评论数:0

看数据结构写代码(53) 静态查找表(线性查找,二分查找,斐波那契查找,插值查找)

查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 查找表分类:静态查找表和动态查找表。 静态查找表:只查找,而不进行插入,删除。 动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。 ...

2015-04-20 10:53:40

阅读数:709

评论数:0

看数据结构写代码(52) 广义表的扩展线性链表存储表示

广义表 的另一种 存储结构是 扩展线性链表存储表示,这种 存储结构的 根 节点 必 存在,并且 根节点的 表尾 为空,将 根节点的 表尾 放 在 表头 的 表尾 指针上。 这样 从 表头 一直 就可以 遍历 所有 同级 节点。 具体j结构 如下: 例如 下面的 广义表 ,用 扩展线性...

2015-04-18 21:24:34

阅读数:773

评论数:0

看数据结构写代码(51) 广义表的头尾链式存储

广义表是一种非线性的数据结构。但如果广义表的每个元素都是原子,它就变成了线性表。广义表广泛地用于人工智能等领域的LISP语言。 广义表一般记作 LS = (a1, a2, ···, an), n是它的长度,ai可以是单个元素(原子),也可以是广义表(子表),当广义表非空时,称第一个元素a1为LS...

2015-04-18 16:18:35

阅读数:681

评论数:0

看数据结构写代码(50)伙伴系统

伙伴系统 是一种 只 可以 分配 2的 幂次方 个 空间的 ,回收 内存 时 只 合并 “伙伴空间” 的一种 动态内存管理方式。 例如 一个 空间 大小 为 64 的 内存,伙伴 系统 为 这 64 的内存  建立 一组 双向循环 链表,分别 管理着  2的 0 次方,2的1 次方幂,2的 2 ...

2015-04-16 21:08:06

阅读数:880

评论数:0

看数据结构写代码(49)边界标识法

浅谈 内存:内存 两大问题:1. 如何 分配 内存 ? 2. 如何 回收 释放 的 内存 系统 从 可利用 空间表中  寻找 合适 大小的 内存 分配给用户,并 将 释放的 内存 重新 插入 可利用空间表里,以便 下次 继续 分配给用户。可是 怎么 分配 和 回收呢? 内存的分配与回收 有三种策略...

2015-04-15 21:44:02

阅读数:1313

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭