
数据结构
文章平均质量分 80
托比-马奎尔
只是一个学习小白,分享自己学习的知识。
展开
-
B-树查找的操作
2. B-树的高度不包括叶子结点3.计算B-树的结点个数时需要考虑叶子结点的个数5阶B树时,每一个子树中只能有4个结点,将第三(5/2取上值)个结点提出到其上一层。原创 2022-10-07 22:15:33 · 420 阅读 · 0 评论 -
第八章排序
若在输出堆顶的最小值(最大值)后,使得剩余n-1个元素的序列重新又建成一个堆,则得到n个元素的次小值(次大值)。基本思想:先把整个待排序列分割成若干子序列,分别进行直接插入排序,待整个系列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。④记录总的比较次数和移动次数都比直接插入排序要少,n越大时,效果越明显。最坏情况(逆序):比较次数为 (n^2-n) / 2 移动次数为 3(n^2-n) / 2。④更适合于初始记录基本有序的情况,当初始记录无序,n较大时,此算法时间复杂度较高。原创 2022-10-07 21:14:10 · 88 阅读 · 0 评论 -
第七章查找
③若被删除的结点既有左子树,又有右子树,则用其中序前驱结点的值代替它(前驱是左子树中最大的结点),然后再删除该前驱结点;若将二叉树上结点的平衡因子(BF)定义为该结点左子树和右子树的深度之差,则平衡二叉树上所有结点的平衡因子只可能是-1,1,0。优点:算法简单,对表结构无任何要求,既适用于顺序结构,也适用于链式结构,无论记录是否按关键字有序均可应用。基本思想:有冲突时就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将数据元素存入。含有n个结点的平均查找长度最好情况:O(log2n)原创 2022-10-05 20:40:31 · 571 阅读 · 0 评论 -
图的遍历和应用
①图的遍历:从图的某一顶点出发,遍历图中的其余顶点,且每个顶点仅被访问一次复杂性:图的任意顶点可能和其余的顶点相邻接,可能在访问了某个顶点后,沿某条路径搜索后又回到原顶点②解决办法:在遍历过程中记下已被访问过的顶点。设置一个辅助向量Visited[1…n](n为顶点数),其初值为0,一旦访问了顶点vi后,使Visited[i]为1或为访问的次序号③图的遍历算法有深度优先搜索算法和广度优先搜索算法。采用的数据结构是(正)邻接链表。原创 2022-10-03 20:48:32 · 1014 阅读 · 0 评论 -
图的类型定义和存储结构
ADT Graph{数据对象V:具有相同特性的数据元素的集合,称为顶点集。数据关系R:R={VR}VR={|| v,wV∧p(v,w) ,表示从v到w的弧,P(v,w)定义了弧的信息 }基本操作P:Create_Graph() : 图的创建操作。初始条件:无。操作结果:生成一个没有顶点的空图G。GetVex(G, v) : 求图中的顶点v的值。初始条件:图G存在,v是图中的一个顶点。操作结果:生成一个没有顶点的空图G。… …原创 2022-10-01 18:18:43 · 648 阅读 · 0 评论 -
数据结构--图
权:与图的边和弧相关的数。有向树是只有一个顶点的入度为0 ,其余顶点的入度均为1的有向图。每个边(或弧)都附加一个权值的图,称为带权图。若G是非强连通图,则极大的强连通子图称为G的强连通分量。②如果一个图有n个顶点和小于n-1条边,则是非连通图。第一个顶点和最后一个顶点相同的路径称为回路(环);若G是非连通图,则极大的连通子图称为G的连通分量。①一棵有n个结点的生成树有且仅有n-1条边。④有n-1条边的图不一定是生成树。的图称为稀疏图,反之称为稠密图。所有顶点度的和为图中边的2倍。原创 2022-09-27 21:07:07 · 380 阅读 · 0 评论 -
树和森林及哈夫曼树
①数据域:存放结点本身信息;②双亲域:本结点的双亲结点在数组中的位置同时定义一个r:记录树的根的下标;n:记录树中结点的个数 n=10。原创 2022-09-26 19:22:55 · 481 阅读 · 0 评论 -
树和二叉树的定义
结点之间有分支,具有层次关系的非线性结构树是n(n>=0)个结点的有限集合T,若n=0时称为空树;有且只有一个特殊的称为树的根结点若n>1时,其余的结点被分为m个互不相交的子集,其中每个子集本身又是一棵树,称其为根的子树树明显是一个递归的定义根结点:非空树中无前驱结点的结点结点的度、树的度:结点所拥有的子树的棵树称为结点的度。树中结点度的最大值称为树的度。原创 2022-09-25 21:16:30 · 907 阅读 · 0 评论 -
串、数组和广义表
零个或多个任意字符组成的有限序列串中的数据元素只能是字符一个串中任意个连续字符组成的子序列(含空串)称为该串的子串;真子串是指不包含自身的所有子串主串:包含子串的串相应地称为主串字符位置:字符在序列中的序号为该字符在串中的位置子串位置:子串第一个字符在主串中的位置空格串:由一个或多个空格组成的串,与空串不同串相等:如果两个串每个位置的串值对应相等(相同),称这两个串相等所有的空串是相等的原创 2022-09-22 16:03:31 · 320 阅读 · 0 评论 -
栈和队列的使用
栈是限制在表的一端进行插入和删除操作的线性表(运算规则)原创 2022-09-20 17:07:01 · 1126 阅读 · 0 评论 -
线性表的链式存储
在链表的第一个结点之前附设一个头结点(头指针)head指向第一个结点。头结点的数据域可以不存储任何信息原创 2022-09-15 20:29:16 · 1190 阅读 · 0 评论 -
线性表的顺序表示和实现
优点:①存储密度大(结点本身所占存储量 / 结点结构所占存储量) ②可以随机存取表中任一元素缺点:①在插入、删除某一元素时,需要移动大量元素 ②浪费存储空间 ③属于静态存储形式,数据元素的个数不能自由扩充原创 2022-09-13 19:06:11 · 427 阅读 · 0 评论 -
类C语言的描述
SqList;//顺序表类型。原创 2022-09-12 19:12:07 · 197 阅读 · 0 评论 -
线性表的定义和特点
①数据元素的个数n称为表的长度②当n = 0时称为空表③数据元素ai只是一个抽象的符号,其具体含义在不同的情况下可以不同原创 2022-09-12 17:34:53 · 126 阅读 · 0 评论 -
数据结构的算法描述
算法:解决问题的一种方法或一个过程,考虑如何将输入转换成输出,一个问题可以有多种算法程序:用某种程序设计语言对算法进行具体实现原创 2022-09-12 16:14:42 · 92 阅读 · 0 评论 -
数据结构的基本概念
数据:客观事物的符号表示(所有输入到计算机中并被计算机程序处理的符号的总称) ①信息的载体;②对客观事物符号化的表示;③能够被计算机识别、存储和加工数据元素:数据的基本单位一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位数据对象:性质相同的数据元素的集合原创 2022-09-11 21:55:23 · 179 阅读 · 0 评论