数据结构
文章平均质量分 68
立志Java工程师
立志java工程师
展开
-
1.2.2算法设计题
1、有一个整数顺序表L,设计一个算法找最后一个值最小的元素的序号,并给出算法的时间和空间复杂度。例如L=(1,5,1,1,3,2,4),返回结果是3。package com.jinglan.arithmetic;public class Demo { public static void main(String[] args) { int [] arr = {1,5,1,1,3,2,4}; int mini = 0;//最后一个 值最小的元素 的序号 int minv = arr[0.原创 2021-06-15 11:29:43 · 3577 阅读 · 3 评论 -
【例题】哈夫曼树
【例1】由五个分别带权值为9,2,3,5,14的叶子结点构成的一棵哈夫曼树,该树的带权路径长度为_______________。A、60B、66C、67D、50答案:C解析:关键点在于要学会如何构造哈夫曼树已知有5个叶子结点,它们的带权值分别为:9,2,3,5,14经过构造得出两种哈夫曼树:ps:不管是选择上面的那种哈夫曼树得到的结果都是一样的。构造好了二叉树之后,可以进行计算了。树的带权路径长度=各个叶子结点的带权路径长度之和某结点的带权路径长度=根结点到该结点的路径长度 ×.原创 2021-05-08 09:16:44 · 13378 阅读 · 0 评论 -
【例题】已知二叉树的后序序列和中序序列构造二叉树
做下列例题之前请先转到:【教程】了解原理和方法。然后再做下面的例题。已知二叉树的中序遍历序列为DEBAFCG,后序遍历序列为EDBFGCA,试画出该二叉树。【答案】解析:详细过程如下:step1:该二叉树的后序序列为EDBFGCA,中序序列为DEBAFCG,通过这两个序列可以得出: A是根结点,DEB是A结点的左子树,FCG是A结点的右子树。如下图:step2:先看A结点的左子树DEB该左子树DEB的后序序列为:EDB,中序序列为:DEB通过这两个序列可以得出:B是根结点,D原创 2021-04-30 10:33:28 · 9809 阅读 · 3 评论 -
【教程】已知二叉树的后序序列和中序序列构造二叉树
原理:二叉树的后序序列遍历过程是:左→右→根。中序序列遍历过程是:左→根→右。已知后序序列可以唯一确定根结点,即:后序序列的最后一个结点就是根结点。确定完根结点之后,根据中序序列可以确定根结点的左子树和右子树,即:在中序序列中根结点的左边是左子树,根结点的右边是右子树。例题:已知某二叉树的后序序列为GDBEFCA,中序序列为DGBAECF,则构造该二叉树的过程如下图。详细过程如下:step1:后序序列为GDBEFCA,中序序列为DGBAECF &nb.原创 2021-04-30 08:18:12 · 12819 阅读 · 3 评论 -
【例题】已知二叉树的先序序列和中序序列构造二叉树
一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJKG,则该二叉树根结点的右孩子为A. HB. EC. FD. G原创 2021-04-30 07:22:34 · 13205 阅读 · 10 评论 -
【教程】已知二叉树的先序序列和中序序列构造二叉树
原理:二叉树的先序序列遍历过程是:根→左→右。中序序列遍历过程是:左→根→右。已知先序序列可以唯一确定根结点。确定完根结点之后,根据中序序列可以确定左子树和右子树。例题:已知某二叉树的先序序列为ABDGCEF,中序序列为DGBAECF,则构造该二叉树的过程如下图。详细过程如下:step1:先序序列为ABDGCEF,中序序列为DGBAECF 可以.原创 2021-04-29 10:30:43 · 14199 阅读 · 11 评论 -
树的性质例题
性质1:树的结点数等于 所有结点的度之和(所有分支数之和)+1性质2:度为m的树中第i层上最多有mi-1个结点(i≥1)性质3:高度为h的m次数最多有mh−1m−1{m^h-1} \over {m-1}m−1mh−1个结点性质4:具有n个结点的m次树的最小高度为: ⌈ logm(n(m-1)+1) ⌉【求总结点数】【例1】若一棵3次树中度为3的结点为两个、度为2的结点为一个、度为1的结点为两个,则该3次树中总的结点个数和叶子结点个数分别是多少?解析:设该3次树中总的结点个数、度为0的结点.原创 2021-04-27 08:01:44 · 1091 阅读 · 1 评论 -
二叉树
二叉树二叉树的定义二叉树的定义二叉树也称为二分树,它是有限的结点集合,这个集合或为空,或由一个根结点和两棵互不相交的称为左子树和右子树的二叉树组成。显然,和树的定义一样,二叉树的定义也是一个递归定义。二叉树的结构简单,存储效率高,其运算实现也相对简单。因此,二叉树在树形结构中具有很重要的地位。二叉树中的许多概念(例如结点的度、孩子结点、双亲结点、层次结点、子孙结点和祖先结点等)与树中的概念相同。在含n个结点的二叉树中,所有结点的度小于等于2,(0,1,2),通常用n0表示叶子结点个数、n1表示单分原创 2021-04-26 18:44:09 · 2993 阅读 · 2 评论 -
满二叉树与完全二叉树
满二叉树与完全二叉树满二叉树定义特点完全二叉树定义特点满二叉树定义在一棵二叉树中,如果所有分支结点都有左、右孩子结点,并且叶子结点都集中在二叉树的最下层,这样的二叉树称为满二叉树。如下图所示就是一棵满二叉树。用户可以对满二叉树的结点进行层序编号,约定编号从树根为1开始,按照层数从小到大、同一层从左到右的次序进行,图中每个结点旁的数字为对该结点的编号。满二叉树也可以从结点个数和树的高度之间的关系来定义,即一棵高度为h且有2h-1个结点的二叉树称为满二叉树。特点①、叶子结点都在最下一层②、只原创 2021-04-26 18:07:22 · 12768 阅读 · 3 评论 -
树
树树的定义树的基本术语功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入树的定义树是由n(n≥)个结点组成的有限集合(T)。如果n=0,它是一棵空树。这是树的特例如果n>0,这n个结点中存在且仅存在1个结点作为树的根结原创 2021-04-26 10:29:12 · 225 阅读 · 1 评论 -
线性表
线性表线性表的定义线性表的逻辑结构线性表的特征线性表的存储方式线性表的分类线性表的定义线性表就是数据元素排列得像一条线一样的的表。线性表严格的定义是具有相同特征的数据元素的一个有限序列。要点:①、所有数据元素类型相同②、线性表由有限个数据元素构成③、线性表中的数据元素与位置相关,即每个元素都有唯一的索引(这一点表明线性表不同于集合,在线性表中可以出现值相同的数据元素(它们的索引不同)而集合中不会出现值相同的数据元素)线性表的逻辑结构线性表的逻辑结构一般表示为:a0,a1,a2,…ai,ai+原创 2021-04-19 07:53:07 · 122 阅读 · 3 评论 -
链表
链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能直观地表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列的结点(链表中的每一个元素称为结点)组成,结点可以在运行时动态生成。想要在11和13中插入22这个数据只需要将11的后继元素指针指向22将22的后继元素指针指向13从而就实现了往链表中插入数据的操作用伪代码来描述:设11这个结点为p,22这个结点为s,向11与13之中插入22可表示为:p.next=s;//将11的后继元素指向22s.ne原创 2021-03-24 08:29:18 · 74 阅读 · 2 评论