第10章 2-3-4树和外部存储

2-3-4树

定义

234表示一个节点可能还有子节点的个数,有以下三种情况:

  1. 有1个数据项的节点含有2个子节点
  2. 有2个数据项的节点含有3个子节点
  3. 有3个数据项的节点含有4个子节点

如果使用L表示子节点的个数,D表示数据项的个数,那么L=D+1,非叶子节点个数总比它数据项含有的数据项多1.

树的组织

节点中的数据项按照关键字升序排列。

搜索2-3-4树

从根开始查找,除非查找的关键字就是根,否则会选择关键字所在的范围,直到找到位置。

插入

查找时没有满节点时很简单,将数据项插入即可,当节点已满时,涉及到节点的移动。

如果对应的节点都已满,会发生数据项的分裂,关于几种分裂,此处不再赘述。

树的效率

查找时间复杂度为O(log N).

外部存储

RAM

随机存取存储器(英文:random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。

ROM

ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。除少数品种的只读存储器(如字符发生器)可以通用之外,不同用户所需只读存储器的内容不同。为便于使
用和大批 量 生产 ,进一步发展了可编程只读存储器(PROM)、可擦可编程序只读存储器(EPROM)和电可擦可编程只读存储器

第10章 2-3-4树和外部存储

时间: 2024-10-12 13:04:42

第10章 2-3-4树和外部存储的相关文章

内部排序-第10章-《数据结构题集》习题解析-严蔚敏吴伟民版

//**留坑待填**// 一.基础知识题 10.1?以关键码序列(503,087,512,061,908,170,897,275,653,426)为例,手工执行以下排序算法,写出每一趟排序结束时的关键码状态: (1)直接插入排序:                            (2)希尔排序(增量d[1]=5): (3)快速排序:                                  (4)堆排序: (5)归并排序:                              

10-9-堆排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第10章  内部排序 - 堆排序 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? SequenceListType.c        相关测试数据下载  链接? 数

JavaScript高级程序设计(第三版)学习笔记8、9、10章

第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象的属性和方法. 例: var age = 20; function sayAge(){ alert(this.age); } alert(window.age); //20 window.sayAge(); //20 定义全局变量与在window对象上直接定义属性区别:全局变量不能通过delete操

Javascript高级程序设计读书笔记(第10章 DOM)

第10章 DOM 10.1  节点层次 每个节点都有一个nodeType属性,用于表明节点的类型.任何节点类型必是下面中的一个: Node.Element_NODE(1); NODE.ATTRIBUTE_NODE(2); Node.TEXT_NODE(3); Node.CDATA_SECTION_NODE(4); Node.ENTITY_REFERENCE_NODE(5); Node.ENTITY_NODE(6); Node.PROCESSING_INSTRUCTION_NODE(7); Nod

3.26日第六次作业,第10章质量,11章人力

3.26日 第六次作业,第10章质量,11章人力 1.质量管理基本原则   以实用为核心的多元要求.系统工程.职工参与管理.管理层和第一把手重视.保护消费者权益.面向国际市场. 2.质量管理的目标顾客满意度.预防胜于检查.各阶段内的过程.   质量管理既重视结果也重视过程   实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等) 3.质量管理的主要活动有哪些项目的质量管理可以分解为质量策划.质量保证与质量控制三个过程.质量策划是指确定与项目相关的质量标准,并决定如何达到这些质量标准.质量

[摘录]第10章 培养胜过对手的力量

第五部分 谈判高手 优势秘籍力量.控制和影响,是每个人与别人交往时都会追求这些东西.不是吗?在进行谈判时,那些最有影响力火灾是最有力量的一方往往会在谈判时迫使对手做出更多的让步.如果你甘心让对手来操纵或影响你的话,显然你就很可能得不到自己想要的结果.另一方面,如果你直到哪些因素,能影响你的对手,并知道如何使用一些具体的方法来形成这种影响力,你就可以将形势控制在自己手中.权力本身也可以成为一种非常富有建设性的力量,当我们谈论权力时,我并不是指独裁者们用来祸害平民们的那种权力,我所说的权力实际上是一

10-11-基数排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第10章  内部排序 - 基数排序 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Status.h.Scanf.c        相关测试数据下载  链接? 数据

读《构建之法》第8、9、10章有感

第8章  需求分析 软件需求 用户的需求五花八门,作为一个软件团队要准确而全面地获取这些需求主要有以下四个步骤: 获取和引导需求.这一步骤也被叫做“需求捕捉”.软件团队需要为用户着想,设身处地,为用户引导出需求. 分析和定义需求.从各个方面获取的需求进行规整,定义需求的内涵从各个角度将需求量化. 验证需求.软件团队要跟利益相关者沟通,通过分析报告.技术原型.用户调查或演示等形式向他们验证软件团队对于这些需求的认知. 在软件产品的生命周期中管理需求. 竞争性需求分析的框架:1.N(需求) 2.A(

敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则

第10章 LSP:Liskov替换原则    Liskov替换原则:子类型(subtype)必须能够替换掉它们的基类型(base type). 10.1 违反LSP的情形 10.1.1 简单例子 对LSP的违反导致了OCP的违反: struct Point { double x, y;} public enum ShapeType { square, circle }; public class Shape { private ShapeType type; public Shape(Shape