《算法导论》笔记---附录 B.5 树】的更多相关文章

详细MIT算法导论笔记 (网络链接) 第一讲:课程简介及算法分析 (Sheridan) 第二讲:渐近符号.递归及解法  (Sheridan) 第三讲:分治法(1)(Sheridan) 第四讲:快排及随机化算法 (Sheridan) 第五讲:线性时间排序 (Sheridan) 第六讲:顺序统计.中值(Sheridan)…
一.高级数据结构 本章以后到第21章(并查集)隶属于高级数据结构的内容.前面还留了两章:贪心算法和摊还分析,打算后面再来补充.之前的章节讨论的支持动态数据集上的操作,如查找.插入.删除等都是基于简单的线性表.链表和树等结构,本章以后的部分在原来更高的层次上来讨论这些操作,更高的层次意味着更复杂的结构,但更低的时间复杂度(包括摊还时间). B树是为磁盘存储还专门设计的平衡查找树.因为磁盘操作的速度要远远慢于内存,所以度量B树的性能,不仅要考虑动态集合操作消耗了多少计算时间,还要考虑这些操作执行了多…
遇到同样的问题,在豆瓣上转过来记录下. 以下内容转自:http://book.douban.com/annotation/16409380/ -------------------分割线-------------------------------------- 最近钻研CLRS,以求在数据结构与算法方面更进一步学习,着实发现国外教材的严谨,全面,严奶奶着实不及.也发现前路漫漫,其修远兮,我必须上下而求索.也发现了一些中外教材定义上不一致的地方,尤以树这个方面比较突出. 一些差别: 1.深度,高…
磁盘作为辅存,它的容量要比内存大得多,但是速度也要慢许多,下面就是磁盘的的结构图: 磁盘驱动器由一个或多个盘片组成,它们以固定的速度绕着主轴旋转,数据存储于盘片的表面,磁盘驱动器通过磁臂末尾的磁头来读写盘片.礠臂可以将磁头向主轴移近或移远.当一个磁头处于静止的时候,它下面经过的磁盘表面称为磁道. 磁盘之所以比主存要慢,是因为它有机械运动的部分:盘片旋转和磁臂运动.为了摊还机械移动所花费的等待时间,磁盘会一次存取多个数据项.磁盘上的数据被组织成页面.每次磁盘读写的数据都是以页面为单位. 本章考虑运…
当关键字是有界范围内的整数时,能够规避Ω(lglgn)下界的限制,那么在类似的场景下,我们应弄清楚o(lgn)时间内是否可以完成优先队列的每个操作.在本章中,我们将看到:van Emde Boas树支持优先队列操作及一些其他操作,每个操作最后情况运行时间为O(lglgn).而这种数据结构限制关键字必须为0~n-1的整数且无重复. 下面以n为元素个数,u为全域大小. 20.1 基本方法 直接寻址 即位图bitmap方法. insert,delete和member:复杂度O(1) minimum,m…
18.1 B树的定义  18.2 B树的基本操作 与一棵二叉搜索树一样,可以在从树根到叶子这个单程向下过程中将一个新的关键字插入B树中.为了做到这一点,当沿着树向下查找新的关键字所属位置时,就分裂沿途遇到的每个满结点(包括叶节点本身).如分裂一个满的根,首先要让根成为一个新的空根结点的孩子.树的高度因此增加1,分裂是树长高的唯一途径. 18.3 从B树中删除关键字 我们设计的这个过程必须保证无论何时,结点x递归调用自身时,x中关键字个数至少为最小度数t.使得有时在递归下降至子结点之前,需要把一个…
课程链接:http://open.163.com/special/opencourse/algorithms.html 第一课:算法分析基础 1.介绍插入排序与归并排序,计算并比较最坏运行时间 2.算法分析重点与渐近分析方法 以下为个人笔记,根据字幕整理 第一课 算法分析 总结 解决问题的方法和方式 算法:关于计算机程序性能和资源利用的研究 算法:性能.速度 在程序设计方面,什么比性能更重要呢? 正确性,可维护,健壮性 模块化,安全,用户友好 为什么关注性能? 1.直接决定方法可行不可行 算法能…
B树 1. 简介 在之前我们学习了红黑树,今天再学习一种树--B树.它与红黑树有许多类似的地方,比如都是平衡搜索树,但它们在功能和结构上却有较大的差别. 从功能上看,B树是为磁盘或其他存储设备设计的,能够有效的降低磁盘的I/O操作数,因此我们经常看到有许多数据库系统使用B树或B树的变种来储存数据结构:从结构上看,B树的结点可以有很多孩子,从数个到数千个,这通常依赖于所使用的磁盘的单元特性. 如下图,给出了一棵简单的B树. 从图中我们可以发现,如果一个内部结点包含n个关键字,那么结点就有n+1个孩…
树的介绍部分摘取自博文二叉查找树(一).二叉查找树(二).二叉查找树. 1. 树的介绍 1.1 树的定义 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合. 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的.它具有以下的特点: (1) 每个节点有零个或多个子节点: (2) 没有父节点的节点称为根节点: (3) 每一个非根节点有且只有一个父节点: (4) 除了根节点外,每个子节点可以分为多个不相交的子树. 1.2 树的基本术语 若一个结点有子树,…
1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”. Trie树可以利用字符串的公共前缀来节约存储空间.如下图所示,该trie树用10个节点保存了6个字符串pool.prize.preview.prepare.produce.progress 在该trie树中,字符串preview,prepa…