数据结构
Ethanhuyi
把技术当兴趣,欢迎关注我的博客交流;曾任职51.com平台后端全栈开发,江西省交科院有限公司前端开发。
展开
-
一个M阶B树具有特性
删除叶子节点中的元素 (1)搜索要删除的元素 (2)如果它在叶子节点上,直接将其删除 (3)如果删除后产生了下溢出(键数小于最小值),则向其兄弟节点借元素。即将其父节点元素下移至当前节点,将兄弟节点中元素上移至父节点(若是左节点,上移最大元素;删除内部节点中的元素 (1)内部节点中元素为其左右子节点的分割值,需要从左子节点最大元素或右子节点最小元素中选出一个新的分割符。分隔值被插入到父节点中(增加了树的高度),这可能会导致父节点的分裂,分裂父节点时又可能会使它的父节点分裂,以此类推。......原创 2022-08-11 23:56:18 · 1170 阅读 · 0 评论 -
图的基本概念
图的基本概念 定义:一个图(G)定义为G=<V,E>,其中,V是顶点的非空有限集合,记为V(G);E是边的集合,记为E(G),其元素是图的边。 将顶点集合为空的图称为空图。 其形式化定义为G=<V,E>。例如:图下。其中 V={北京,济南,上海,南京,郑州,西安,成都,武汉},E={北京-郑州,北京-济南…}文章目录图的基本概念一、边是什么?二、完全无向图1.完全无向图定义2,完全有向图注意三,稀疏图和稠密图四,权五,子图和生成子图一、边是什么?边(弧)表示两个顶原创 2022-05-29 17:05:13 · 407 阅读 · 0 评论 -
二叉树习题
二叉树详细题解啊原创 2022-05-19 17:12:47 · 297 阅读 · 0 评论 -
二叉树遍历试题截图
二叉树遍历试题截图二叉树三种遍历次序新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入二叉树三种遍历次序新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了原创 2022-05-19 15:54:02 · 316 阅读 · 0 评论 -
循环队列的计算公式
原创 2021-05-01 10:26:51 · 366 阅读 · 0 评论 -
数据的逻辑结构
原创 2021-04-13 19:28:00 · 111 阅读 · 0 评论 -
树与二叉树
简介:树和二叉树的性质,遍历操作,转换,存储结构和操作特性等;满二叉树,完全二叉树,线索二叉树,哈夫曼树的定义和性质,二叉排序树和二叉平衡树的性质和操作。4.1树的基本概念4.1.1树的定义树是N(N>=0)个结点的有限集合,N=0时,称为空树,这是一个特殊情况。在任意一颗非空树中应满足:1)有且仅有一个特定的称为根结点。2)当N>1时,其余结点可分为m(m&g...原创 2018-09-07 14:48:54 · 244 阅读 · 0 评论 -
线索二叉树练习题
解答:1,要使NLR=NRL(后序序列反序)成立,则L或R为空,这样的二叉树每层只有一个结点,即二叉树的形态是其高度等于结点个数。2,需要满足二叉树只有一个根结点情况下,他们的先序和后序序列相同。 3,//编写后序遍历二叉树的非递归算法void PostOrder(BiTree T) { InitStack(S); //初始化栈 p = T; ...原创 2018-09-17 18:20:38 · 2795 阅读 · 0 评论 -
几个特俗的二叉树
1,满二叉树:一棵高度h,并且含有2^h - 1 个结点的二叉树称为满二叉树,即树中的每一层都含有最多的结点。满二叉树的叶子结点都集中在二叉树的最下一层,并且除叶子结点之外的每个结点度数均为2。可以对满二叉树按层序编号:约定编号从根结点起,从上到下,从左到右。2,完全二叉树:3,二叉排序树:3,平衡二叉树: ...原创 2018-09-10 15:14:14 · 284 阅读 · 0 评论 -
3.4特殊矩阵的压缩存储
3.4.1数组的定义数组是由n(n>=1)个相同类型的数据元素构成的有限序列,每个数据元素称一个数组元素,每个元素受n个线性关系的约束,每个元素在n个线性关系中的序号称为该元素的下标,并且称该数组为n维数组。数组与线性表的关系:数组是线性表推广。一维数组可以堪称一个线性表;二维数组可以堪称元素是线性表的线性表。数组一旦被定义,它的维数和维界就不再改变。3.4.2数组的存储结构...原创 2018-09-05 15:39:46 · 1110 阅读 · 1 评论 -
二叉树的遍历和线索二叉树
4.3.1二叉树的遍历二叉树的遍历,是指按某搜索路径访问树中的每个结点,使得每个结点均被访问一次,而且仅被访问一次。按照先遍历左子树再遍历右子树的原则,常见的遍历次序有先序,中序和后序三种遍历算法。 5,层次遍历要层次遍历需要借助一个队列。 先将二叉树根结点入队,然后出队,访问该结点,如果有左子树,则将左子树根结点入队;如果它有右子树,则将右子树根结点入队,然...原创 2018-09-11 17:46:56 · 1192 阅读 · 0 评论 -
03栈和队列--栈
前言知识框架注意:必考的是 (出入栈的过程,出栈序列的合法性)以及队列的操作和特征。算法设计题目中的是:对了的顺序存储,链式存储,双端队列。3.1栈3.1.1桟的基本概念1,定义stack桟:只允许在一端进行插入或删除操作的线性表。首先桟是一种线性表,但是限定这种线性表只能在某一段进行插入和删除操作。栈顶top:线性表允许进行插入和删除的那一段。栈底bot...原创 2018-08-21 17:13:17 · 226 阅读 · 0 评论 -
03栈和队列--队列
3.2.1队列的基本概念1,队列的定义队列:是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素成为入队或进队;删除元素称为出队或离队。特性:先进先出 又称先进先出的线性表2,队列常见的基本操作InitQueue(&Q):初始化队列,构造空队列QQueueEmpty(Q):判断队列是否空,若队列Q为空返回t...原创 2018-08-23 17:12:24 · 283 阅读 · 0 评论 -
02线性表(习题部分)
综合应用原创 2018-08-20 18:33:08 · 541 阅读 · 0 评论 -
03栈(练习题)
首先栈是一种线性表;按照存储结构不同可以分为顺序栈和链栈。栈和队列都是限制存取点的线性结构。选择题目答案: 应用题目答案:...原创 2018-08-22 18:32:48 · 973 阅读 · 0 评论 -
02线性表(线性表的链式表示)
2.3线性表的链式表示 由于顺序表的插入,删除操作需要移动大量的元素,影响了运行效率,由此引入了线性表的链式存储。链式存储线性表时,不需要使用地址连续的存储的单元,即它不要求逻辑上相邻的两个元素在物理位置上也相邻,他是通过链,建立数据元素之间的逻辑关系,因此,对线性表的插入,删除不需要移动元素,而是只需要修改指针。2.3.1单链表的定义线性表的链式存储又称 单链表。他是通过一组任意的存...原创 2018-08-14 16:20:16 · 521 阅读 · 0 评论 -
01数据结构基本概念
1.1基本概念数据,数据元素,数据对象,数据类型,抽象数据类型,数据结构注意:数据类型:原子类型,结构类型,抽象数据类型{ 原子类型:其值不可再分的数据类型; 结构类型:其值可以再分成若干成分的数据类型 抽象数据类型:抽象数据组织和与之相关的操作}通常用数据对象,数据关系,基本操作集这样的三元组来表示抽象数据类型。数据结构是互相之间存在一种或者多种特定关系...原创 2018-08-06 18:36:46 · 676 阅读 · 0 评论 -
02线性表
02线性表前言一,线性表的定义和基本操作二,线性表的实现1,顺序存储 2,链式存储 3,线性表的应用2.1线性表的定义和基本操作2.1.1线性表的定义线性表定义为一个有限序列组成的线性表线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,n=0时候,该线性表是一个空表。线性有序的逻辑结构正是线性表的由来。注意:线...原创 2018-08-10 18:09:41 · 151 阅读 · 0 评论