9.1-1 按照竞争树的办法求最小值需n-1次比较,然后在lgn个与最小值比较过的元素中求出最小值即为原来n个元素的次小值,需lgn-1次比较,所以共需n+lgn-2次比较 9.1-2 题目是要证明3n/2-2是最少的比较次数,而不是要构造出这样的算法。我们把某个元素与其它元素间的大小关系称作一条信息,那么最大元素包含n-1条信息(这个元素比其它n-1个元素都大),同样,最小元素也包含n-1条信息,同时求出最大和最小元素就需要获得2n-2条信息。未比较过的元素记为N,比较后较小的元素记为S,较大的元素记为

Slides:



Advertisements
Similar presentations
乌鲁木齐市高级中学 杨帆 2.2 用样本估计总体 2.2.1 用样本的频率分布估计总体分布 第一课时.
Advertisements

摆一摆,想一想. 棋子个数数的个数 摆出的数 、 10 2 、 11 、 20 3 、 12 、 21 、 30 4 、 13 、 22 、 31 、 40 5 、 14 、 23 、 32 、 41 、
质数和合数 2 的因数( ) 6 的因数( ) 10 的因数 ( ) 12 的因数 ( ) 14 的因数 ( ) 11 的因数 ( ) 4 的因数( ) 9 的因数( ) 8 的因数( ) 7 的因数( ) 1 、 2 、 3 、 4 、 6 、 12 1 、 11 1 、 2 、 5 、 10.

3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
第八章 第四节 机动 目录 上页 下页 返回 结束 一个方程所确定的隐函数 及其导数 隐函数的微分法.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
二级基础知识 第一章 数据结构与算法 全国计算机等级考试. 1.1 算法  一、算法的概念 解决问题准确而完整的描述。  特征:可行性、确定性、有穷性、拥有足够的 情报。  要素:对数据运算操作(算术、逻辑)通过指 令序列程序来实现、算法的控制结构(执行顺 序)。  算法设计方法: 列举法:列举所有可能.
一、算法的基本概念 二、数据结构 三、栈和队列 四、排序方法 五、二叉树
二叉树在树结构的应用中起着非常重要的作用,因为对二叉树的许多操作算法简单,而任何树都可以与二叉树 相互转换,这样就解决了树的
第三章 函数逼近 — 最佳平方逼近.
第二章 二次函数 第二节 结识抛物线
主讲:计算机工程学院 李兰 答疑地点:主教学楼B区213
小学生游戏.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
树(三) 2012初赛知识点梳理.
Minimum Spanning Trees
第三章 多维随机变量及其分布 §2 边缘分布 边缘分布函数 边缘分布律 边缘概率密度.
赵海燕 软件研究所 14 Apr 第5章 树与二叉树 之三 赵海燕 软件研究所 14 Apr
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
0911算法基础第二次习题课
元素替换法 ——行列式按行(列)展开(推论)
Cyclic Hanoi问题 李凯旭.
第5章 树和二叉树 5.1树 5.2二叉树 5.3二叉树的遍历 5.4线索二叉树 5.5树、森林与二叉树的转换 5.6哈夫曼树.
第11讲 树和二叉树(二).
第五章 树 5.1 树的定义 树是一类重要的非线性数据结构,是以分支关系定义的层次结构 定义
组合数学 第五章 二项式系数 主要内容: 1. 二项式系数及相关性质 2. 链与反链.
计算机问题求解 – 论题2-14 -B树 2018年6月10日.
第5到第6章的勘误表 注意:这个 c 应改为 d 1、第 92 页 倒数第 7 行:
顺序表的插入.
使用矩阵表示 最小生成树算法.
第2部分 算法设计策略 第5章 分治法 2019/4/5.
无向树和根树.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
顺序表的删除.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
离散数学─归纳与递归 南京大学计算机科学与技术系
复习.
用计算器开方.
算法导论第一次习题课.
Disjoint Sets Michael Tsai 2013/05/14.
3.16 枚举算法及其程序实现 ——数组的作用.
第5节 树 前两章学习的栈和队列属于线性结构。在这种结构中,数据元素的逻辑位置之间呈线性关系,每一个数据元素通常只有一个前件(除第一个元素外)和一个后件(除最后一个元素外)。在实际生活中,可以用线性结构描述数据元素之间逻辑关系的问题是很广泛的,但也有很多问题不能依靠线性结构来解决,例如家谱、行政组织机构等都是非线性的数据结构。其中树就是一种非线性的数据结构。
1.2 子集、补集、全集习题课.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第七、八次实验要求.
2.2矩阵的代数运算.
分数再认识三 真假带分数的练习课.
#define RBTREE_RED 0 #define RBTREE_BLACK 1 typedef int dataType; typedef struct treeNode{ dataType key; int color; //red:0.
2019/5/20 第三节 高阶导数 1.
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
生 物 信 息 学 Bioinformatics 巩晶 癌症研究中心 山东大学 医学院
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
找 因 数.
主讲人: 吕敏 { } Spring 2012 ,USTC 算法基础 主讲人: 吕敏 { } Spring 2012 ,USTC.
第十七讲 密码执行(1).
第十二讲 密码执行(上).
插入排序的正确性证明 以及各种改进方法.
三角 三角 三角 函数 余弦函数的图象和性质.
第七章 搜索结构 东南大学计算机学院 方效林 本课件借鉴了清华大学殷人昆老师 和哈尔滨工业大学张岩老师的课件.
§4.5 最大公因式的矩阵求法( Ⅱ ).
本节内容 1. 平衡二叉树的定义 2.平衡化旋转 3.平衡二叉排序树的插入操作 昆山爱达人信息技术有限公司
离散数学─归纳与递归 南京大学计算机科学与技术系
最小生成树 最优二叉树.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
第三章 图形的平移与旋转.
Presentation transcript:

9.1-1 按照竞争树的办法求最小值需n-1次比较,然后在lgn个与最小值比较过的元素中求出最小值即为原来n个元素的次小值,需lgn-1次比较,所以共需n+lgn-2次比较 9.1-2 题目是要证明3n/2-2是最少的比较次数,而不是要构造出这样的算法。我们把某个元素与其它元素间的大小关系称作一条信息,那么最大元素包含n-1条信息(这个元素比其它n-1个元素都大),同样,最小元素也包含n-1条信息,同时求出最大和最小元素就需要获得2n-2条信息。未比较过的元素记为N,比较后较小的元素记为S,较大的元素记为L,那么每次比较获得的信息数如下表:

在最坏情况下,只能在两个未比较过的元素间比较才能得到两条信息,其余的比较至多得到一条信息,而未比较过的元素至多有n个,这样为了得到2n-2条消息至少需要n/2+(2n-2-n)=3n/2-2次比较

9.2-4 最坏时Randomized-Partition每次都返回余下元素中最大的一个,划分序列是{9,8,7,6,5,4,3,2,1,0} 9.3-1 每组7个元素时大于x的元素为 ,此时递归式为 用代换法解得复杂度为O(n) 每组3个元素时同理可得递归式为 用代换法解得复杂度为Ω(nlogn)

9.3-2 SELECT中大于x的元素至少为 当n>=140时满足3n/10-6>= ,同理可证小于的情况 9.3-4 通过比较得到的第i小的元素,在比较过程中比这个元素小的元素构成的集合即为i – 1个小数集合,而比较过程中比这个元素大的元素则构成了n – i 个大元素集合。不需要增加比较次数,只需要每次保留比较信息即可 9.3-7 (1) Find the median i of S O(n) (2) Construct a new set S‘, such that for every element x in S, there is a corresponding element y in S’, where y = |x - i| n次 (3) Find the kth order statistics d inS‘ kn次 (4) For each element x in S,if |x - i| <= d,add x to set T n次 (5) return T

12.3-1 Tree-Insert(T,z) { T-Insert(T,z){ y=root(T); x=root(T); if(y==NIL){ if(key[z]<key[x]) key[y]=key[z]; if(left[x]==NIL) left[y]=NIL; left[x]=key[z]; right[y]=NIL; } else T-Insert(left[x],z); else else T-Insert(y,z); if(right[x]==NIL) } right[x]=key[z]; else T-insert(right[x],z);

12.3-3 中序遍历O(n),最好情况下是完全二叉树,运行时间为O(nlogn),最坏情况下是一个链,运行时间O(n^2) 12.3-6 自己定义一个priority,可以是左右子树的高、左右子树的大小或者等概率随机选择一个 13.1-1 略 13.1-2 都不是,红色违反性质4,黑色违反性质5 13.1-6 最多时是红黑相间的满二叉树,而且最底层内结点为红色,此时内结点总数为(2^2k)-1,最少时是全黑的满二叉树,此时内结点总数为 (2^k)-1

13.2.2 BST(Binary Search Tree)上某个结点的旋转次数,是这个结点能够左旋和右旋的次数之和,即非空的右孩子结点和非空的左孩子结点数之和。对BST上所有结点的旋转次数求和,得到BST的边数为n – 1,这就是n – node的BST可能的旋转数目。 13.2.4 首先证明任意的二分查找树可通过至多n-1次旋转变成右行链。 再由对称性可知右行链可通过至多n-1次旋转变成任意的二分查找树,这样任意两棵二分查找树之间的转换至多需要2(n-1)次旋转。

13.2.5 (1)右行链就不可以通过右旋转换成其它的二分查找树。 (2)分析得递归式为 取k=0就可得最坏情况下为 。 13.3.1 取成黑色会改变树的黑高度,这样调整起来更麻烦。 13.3.2 略 13.3.5 用归纳法证即可。

13.4-3.删除过程如下: 删去结点8,其他结点颜色不变 删去结点12,则第四条性质不满足,依据case 2 ,结点19改为黑色,结点31改为红色 删去结点19,结点31成为结点38的左孩子,结点31改为黑色 删去结点31,则第四条性质不满足,依据case 2 ,结点41改为红色 删去结点38,结点41成为根结点,改为黑色 删去结点41,树空,结束

14.1-1.函数运行过程大致如下: r=13, i=10, i<r 设X为T的左孩子, 进入r=8, i=10, i>r 设Y为X的右孩子, 进入r=3, i=2, i<r 设Z为Y的左孩子, 进入r=1, i=2, i>r 设M为Z的右孩子, 进入r=1, i=1, i=r 返回M,即值为20的结点

14. 3-6.实现要求的数据结构有多种。一种参考的数据结构可以书中14 14.3-6.实现要求的数据结构有多种。一种参考的数据结构可以书中14.3节介绍的Interval trees作为基础的数据结构,动态集合中的每个值作为结点的 low endpoint,集合中下一个值作为 该结点的high endpoint,再在此基础上增加一个min-gap域,该域存放的值是以该结点为根的树中,所有结点的high endpoint与low endpoint值差异最小的值。 Insert,Delete,Search算法和Interval trees基本相同,时间复杂度为 。 Min-Gap算法的值可直接由根结点的min-gap域的值直接得到,时间复杂度为

19.1-1 if x is root degree(sibing[x])>degree(x) if x is not root degree(sibing[x])=degree(x)-1 19.1-3证明:1)由树的构成可知:x的第i孩子的二进制表示为x二进制表示的最右0后第i位置反。 由这个性质我们可以得到第i层节点的二进制表示中有k-i个1。 2)包含j个1的节点个数为第i层的个数。 3)数学归纳法证明

19.2-2 过程略 ( union操作 ) 19.2-3 (1)decrease-key (2)extract-min 过程略 19.2-6 算法思想:找到堆中最小值min,用min-1代替-∞. [遍历堆中树的根节点]

课堂小测 关键字41,12,19,8插入一棵初始为空的红黑树,画出插入过程,从建好的树中连续删除关键字12,19 请给出一个时间 O(n^2) 的算法,使之能找出一个N个数的序列中最长的单调递增子序列.