数据结构
晚安丶
无远弗届,功不唐捐。
展开
-
平衡二叉树的构造
平衡二叉树实现的实例选取一组数据分别为2,1,0,3,4,5,6,9,8,7的10个结点来构造平衡二叉树。首先数据为2的结点作为根结点插入,接着插入1,仍是平衡的,再插入0是,2的平衡因子变为2,此时出现了不平衡,因此需要进行调整,最低不平衡结点为2,属于LL型,调整过程如图1所示。接着插入3,是平衡的,再插入4,此时出现了不平衡,结点 1 和 2的平衡因子都为 -2,结点2为最低不平衡结点,属于RR型,调整过程如图2所示接着插入5,此时结点1 的平衡因子为 -2,导致不平衡,结点1..转载 2020-06-07 16:32:34 · 775 阅读 · 0 评论 -
数据结构扫盲
1.算法的特性:有穷性,确定性,可行性,输入(>=0),输出(>=1)设计算法时,通常应考虑达到以下目标:1、正确性 2、可读性 3、健壮性 4、高效率与低存储量需求2.二叉线索树每个节点都有指向前驱和后继的指针(错)【解析】有的指向左右孩子3.对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,...原创 2018-12-22 23:18:08 · 340 阅读 · 0 评论 -
哈希详解
1.应用背景普通查找方法特点:通过将关键字值与给定值比较,来确定位置。效率取决比较次数。理想的方法是:不需要比较,根据给定值能直接定位记录的存储位置。这样,需要在记录的存储位置与该记录的关键字之间建立一种确定的对应关系,使每个记录的关键字与一个存储位置相对应。这就是我们要提起的哈希表2.哈希(也称为Hash、杂凑、散列)基本思想 在记录的存储地址和它的关键字之间建立...原创 2018-11-17 12:22:17 · 2022 阅读 · 1 评论 -
关于满二叉树
对于国内的满二叉树从图形形态上看,满二叉树外观上是一个三角形。从数学上看,满二叉树的各个层的结点数形成一个首项为1,公比为2的等比数列。因此由等比数列的公式,满二叉树满足如下性质。1、一个层数为k 的满二叉树总结点数为: 。因此满二叉树的结点树一定是奇数个。2、第i层上的结点数为: 3、一个层数为k的满二叉树的叶子结点个数(也就是最后一层): 对于国外的满二叉树...原创 2018-11-19 12:45:09 · 505 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
一、算法的时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度。记作:T(n)=O(f(n))。它表示随问题n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度。其中,f(n)是问题规模n的某个函数。 这样用大写O...转载 2018-11-15 12:08:28 · 339 阅读 · 0 评论 -
图论有关习题
1.若无向图G=(V,E)中含8个顶点,为保证图G在任何情况下都是连通的,则需要的边数最少是( )。A.7 B.21 C.22 D.28【解析】 本题考查图的基本概念。要保证无向图G在任何情况下都是连通的,即任意变动图G中的边,G始终保持连通。首先需要图G的任意7个结点构成完全连通子图G1,需n(n-1)/2=7×(7-1)/2=21条边,然后再添加一条边将第8个结点与G1连接起来,...原创 2018-11-16 20:13:06 · 2592 阅读 · 1 评论 -
栈、队列有关习题
1.已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素,若初始时队列为空,且要求第1个进入队列的元素在A[0]处,则初始时front和rear的值分别是A)0,0 B)0,n-1 C)n-1,0 D)n-1,n-1 入队列的时候,尾指针要加1。题目有要求:队列非空时front和rear分别...原创 2018-11-16 19:40:18 · 778 阅读 · 0 评论 -
树,二叉树,森林有关习题
1.已知一棵有2011个结点的树,其叶节点个数为116,该树对应的二叉树中无右孩子的结点个数是A)115 B)116 C)1895 D)1896[解析] 树——>二叉树,最左孩子变左孩子,兄弟变右孩子因此对应的二叉树没有右孩子,说明该节点在树里右边没有兄弟,也就是说,该节点是其父节点最右边的孩子。有多少个有孩子的节点,就有多少个“最右的孩子节点”,因此2011-1...原创 2018-12-22 23:18:15 · 3135 阅读 · 0 评论 -
线性表、单链表、双链表、循环链表和静态链表以及相应习题
一、单项选择题1.关于线性表的顺序存储结构和链式存储结构的描述中,正确的是( )。 Ⅰ.线性表的顺序存储结构优于其链式存储结构 Ⅱ.链式存储结构比顺序存储结构能更方便地表示各种逻辑结构 Ⅲ.如频繁使用插入和删除结点操作,顺序存储结构更优于链式存储结构 Ⅳ.顺序存储结构和链式存储结构都可以进行顺序存取A. Ⅰ、Ⅱ、Ⅲ B. Ⅱ、Ⅳ C. Ⅱ、Ⅲ D. Ⅲ、Ⅳ1. B两种存储...转载 2018-12-22 23:18:48 · 2980 阅读 · 0 评论 -
图解排序算法之希尔排序
希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来...转载 2018-12-26 12:00:41 · 130 阅读 · 0 评论 -
使用栈进行表达式求解
【背景知识】 表达式的三种标识方法:设 exp = S1 OP S2则称 OP S1 S2 为前缀表示法S1 OP S2 为中缀表示法S1 S2 OP 为后缀表示法例如: exp = a b + (c - d / e) f前缀式: + a b - c / d e f中缀式: ...原创 2018-12-22 23:18:28 · 3273 阅读 · 0 评论 -
二叉树前序、中序、后序遍历相互求法
今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。【背景】前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树 2.访问根节点 3.中序遍历右子树 ...转载 2018-12-26 12:01:17 · 212 阅读 · 0 评论