北大数据结构课件01

北大数据结构课件01
北大数据结构课件01

数据结构与算法-北大 HW11 B_B+树

北京大学信息学院2007年秋季学期《数据结构与算法A(实验班)》课程作业 张铭编写并发布 mzhang@https://www.360docs.net/doc/6c7774652.html, 第11次作业,12月17日(周一)课前提交,电子稿提交时间12月17日开课之前提交。 11.1 偶数阶的B 树插入上溢出时,中 位数有两个,需要注意采用统一的策略。例如,取第二个中位数, 即分裂后左(1)/2m ?????个关键码,右(1)/2m ?????; 或者取第一个中位数,分裂后左(1)/2m ????? 右(1)/2m ?????。请画出对右图的4阶B 树进行下来操作后的B 树。 (1) 分裂时采用第2个中位数为 分界码,请画出插入关键码113后的B 树;分析插入操作的访外次数。 (2) 分裂时采用第1个中位数为分界码,请画出插入关键码113后的B 树;分析插入操 作的访外次数。 (3) 在原树中删除关键码50;分析删除操作的访外次数(与1、2题无关,从根重新开 始操作)。 11.2 已知一组关键码为(20, 30, 50, 52, 60, 68, 70),试依次插入关键码。 (1) 生成一棵3阶的B +树,画出插入所有关键码后B 树的结构。 (2) 画出删除50后的B + 状态,分析删除操作的访外次数。 11.3 假设一个数据文件每个记录对象需要占用128 字节(其中关键码占用4字节),且所 有记录均已按关键码有序地存储在主磁盘文件中。设磁盘页块大小为2048(= 2K )字节,若主存中有12M 空间可以用来存储索引结构,索引项中每一个地址指针占8 字节。请简要回答以下问题(请写明你的计算过程)。 (1) 使用B 树索引,B 树的阶m 1最多可以为多少?4层m 1阶B 树,最多可以索引多 少字节的数据文件? (2) 使用B +树索引,B +树的阶m 2最多可以为多少? (3) 假设B +树的叶层各结点链接成双链结构,B +树的叶结点阶m 2’可以跟内部结点不 一样,则阶m 2’为多少? (4) 在第(3)小题的基础上,计算4层B +树(内部结点为m 2阶,叶结点m 2’阶),最多 可以索引多少字节的数据文件? (5) 假设尽量把B +树的头几层放入内存(本题规定不能超过12M ),那么给定关键码, 通过B +树查找到(4)小题中主数据文件的一个记录,最少几次访外?最多几次访 外? 11.4 对于下面两种B +树,列表给出他们在1、2、3、4和5层(独根是一层树)的不同情 况下,能够存储的最大记录数和最小记录数。 (1) 对于教材定义那样的B +树,其内部结点阶为50,叶结点阶为50。 (2) 如讲义P89那样的混合型B +树,其内部结点阶为55,叶结点阶为25(叶结点除关 键码,还索引部分记录信息)。 4阶B 树

北京大学操作系统期末试题有答案

操作系统原理试题 一. 名词解释题 1. 中断—— 2. 进程控制块(PCB)――它是进程实体的一部分,是操作系统最重要的记录型数据结构, 是进程存在的唯一标识 3. 虚时钟 4. 段式管理 5. 文件控制块(FCB) 6. 对换(SWAPPING) 7. 系统调用 8. 绝对路径名 9. 特别文件 10.虚设备技术 11.管道 12.中断接收 13.恢复现场 14.页式管理 15.作业步 16.字符流文件 17.通道 18.页面淘汰 19.多道程序设计 20.死锁 21.当前目录 22.快表 23.作业调度 24.原语 25.中断屏蔽 26.地址映射 27.文件目录 28.死锁避免 29.原语 31. CPU 状态 32.虚存

二 . 填空题 1. 分时系统追求的目标是 __及时响应 ___. 2. 用户进程从目态 (常态)转换为管态 (特态)的唯一途径是 ___ 中断 ________ . 3. 从静态的观点看 , 操作系统中的进程是由程序段、数据和 __ 作业控制块 PCB__ 三 部分组成 . 4. 在系统内核中必须包括的处理模块有进程调度、原语管理和 __中断处理 __. 5. 批处理操作系统中 , 作业存在的唯一标志是 _作业控制块 PCB ___. 6. 操作系统中的一种同步机制 , 由共享资源的数据及其在该数据上的一组操作组成 , 该同步机制称为 _管程 ______________ . 7. 在可变分区存储管理中 , 为实现地址映射 , 一般由硬件提供两个寄存器 , 一个是基 址寄存器 , 另一个是 _限长寄存器 ___. 8. 联想寄存器 (相联存储器 ) 的最重要、最独到的特点是 _按内容并行查找 ___. 9. 在虚拟段式存储管理中 , 若逻辑地址的段内地址大于段表中该段的段长 , 则发生 __ 地址越界 __中断 . 10. 文件系统中若文件的物理结构采用顺序结构 , 则文件控制快 FCB 中关于文件的物 理位置应包括 ___ 首块地址和文件长度 _. 11. 在操作系统设计时确定资源分配算法 , 以消除发生死锁的任何可能性 , 这种解决死 锁的方法是 __死锁预防 __. 12. 选择对资源需求不同的作业进行合理搭配 , 并投入运行是由 _作业调度算法 ___来完 成的. 13. 实时系统应具有两个基本特征 : 及时性和 ___可靠性 ___. 14. 磁带上的文件只能采用 _顺序 ______ 存取方式 . 15. 不让死锁发生的策略可以分成静态和动态的两种 , 死锁避免属于 __动态的 ___. 16. 在 UNIX 系统中 , 文件分成三类 , 即普通文件 , 目录文件和 ___特殊文件 __. 17. 在磁盘调度策略中有可能使 I/O 请求无限期等待的调度算法是 __最短寻道时间优先 18. 进程获得了除CPU 外的所有资源,一旦获得CPU 即可执行,这时进程处于—就绪 _ 状态 . 19. ______________________________________________________ 为实现CPU 与外部设备的并行工作,系统必须引入一通道 ____________________________________ 硬件基础. 20. 操作系统为保证不经文件拥有者授权 , 任何其它用户不能使用该文件所提出的解决 措施是 ___文件保密 __. 21. 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态 , 这就称为 __ 并发 ___. 33. 磁盘调度 34. 缓冲技术 36. 进程调度 37. 虚设备 39. 死锁预防 40. 临界资源 — 42. 交换技术 43. 互斥区 段时间内只允许一个进程访问的资源,也称为独立资源

数据结构考试题8

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。每张答题纸都要写上姓名和学号。 一、单项选择题(选择最准确的一项,共15小题,每小题2分,共计30分) 1. 数据结构是指。 A. 一种数据类型 B. 数据的存储结构 C. 一组性质相同的数据元素的集合 D. 相互之间存在一种或多种特定关系的数据元素的集合 2. 以下算法的时间复杂度为。 void fun(int n) { int i=1,s=0; while (i<=n) { s+=i+100; i++; } } A. O(n) B. O(n) C. O(nlog2n) D. O(log2n) 3. 在一个长度为n的有序顺序表中删除其中第一个元素值为x的元素时,在查找元素x时采用二分查找方法,此时删除算法的时间复杂度为。 A. O(n) B. O(nlog2n) C. O(n2) D. O(n) 4. 若一个栈采用数组s[0..n-1]存放其元素,初始时栈顶指针为n,则以下元素x进栈的正确操作是。 A.top++;s[top]=x; B.s[top]=x;top++; C.top--;s[top]=x; B.s[top]=x;top--; 5. 设环形队列中数组的下标为0~N-1,其队头、队尾指针分别为front和rear(front 指向队列中队头元素的前一个位置,rear指向队尾元素的位置),则其元素个数为。 A. rear-front B. rear-front-1 C. (rear-front)%N+1 D. (rear-front+N)%N 6. 若用一个大小为6的数组来实现环形队列,队头指针front指向队列中队头元素的

北京大学1997硕士入学数据结构试题

北京大学1997硕士入学数据结构试题 1 (16分) 填空 ① 设只包含要根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数 为,最小结点数为。 ② 某二叉树结点的对称序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E,则该二叉树结点的前序序列为,该二叉树对应的树林包括棵树。 ③ 求具有最小带权外部路径长度的扩充二叉树的算法称为算法,对于给出的一组权W={10,12,16,21,30},通过该算法求出的扩充二叉树的带权外部路径长度为。 ④ 设有关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序进行排序,若采用初始步长为4的Shell排序法,则一趟扫描的结果是;若采用以第一个元素为分界元素的快速排序法,则一趟扫描的结果是。 2 (10分) 请简要回答下列问题 ① 什么是抽象数据类型?试举一例说明之。 ② 什么是广义表?请简述广义表与线性表的主要区别。 3 (6分) 给定关键码序列(26,25,20,33,21,24,45,204,42,38,29,31),要用散列法进行存储,规定负载因子a=0.6。 ① 请给出除余法的散列函数。 ② 用开地址线性探查法解决碰撞,请画出插入所有的关键码后得到的散列表,并指出发生碰撞的次数。 4 (6分) 本题要求在检索各结点的概率不相等的条件下构造最佳二叉排序树。给出关键码集合 { B, E, H} key1 key2 key3

以及权的序列 ( 9 4 5 8 6 1 3) p1 p2 p3 q0 q1 q2 q3 请构造最佳二叉排序树。 5 (12分) ① 请画出往图1的5阶B-树中插入一个关键码390后得到的B-树,以及再删除关键码150后得到的B-树。 ② 包括n个关键码的m阶B-树在一次检索中最多涉及多少个结点?(要求写出推导过程) 图1 题5图 6 (10分) 如图2所示是一棵正在进行插入运算的AVL树,关键码70的插入使它失去了平衡,按照AVL树的插入方法,需要对它的结构进行调整以恢复平衡。 ①请画出调整后的AVL树。 ②假设AVL树用llink-rlink法存储,T是指向根结点的指针、请用PASCAL(或C)语句表示出这个高速的过程。 (说明:不必写出完整的程序,只需用几个语句表示出在本题所给的具体情况下调整过程中指针的变化。在调整过程中还有两个指针变量p和q可以使用)。

北大2015年秋季学期数据结构课程作业

2015年秋季学期《数据结构》课程作业 一. 单选题,每空有一个正确选择,请将正确的选择填在题号前边。(每空1分,共30分) 1.鼓励独立完成作业,严惩抄袭!数据的逻辑结构被形式地定义为B=(K,R),其中K 是 ____C__的有限集合,R是K上的___H___的有限集合。(第一章) a 存储 b 数据操作c数据元素d操作 e逻辑结构 f 映象 g算法h关系 2.以下关于算法的说法不正确的是____B _________。(第一章) a 一个算法应包含有限个步骤 b算法越简单越好 c算法中的所有操作都可以通过已经实现的基本操作运算有限次实现之 d算法中的每个步骤都能在有限时间内完成 3.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03, 07>,<03,08>,<03,09>},则数据结构A是______B________。(第一章) a 线性结构 b 树型结构 c 物理结构 d 图型结构 4.下面程序段的时间复杂度为___C___(第一章) int sum=0; for(i=0; i

北大PKU 慕课 EDX 数据结构与算法 第七章图 quiz答案与解析

第七章树

PROBLEM 2 (1/1 分) 一个深度为h的满k叉树,最多有多少个结点?(独根树深度为0)There is a full k-ary tree, whose depth is h. How many nodes can it have at most? (The depth of a tree, which only has a root node, is 0.) k^(h-1) k^h (k^(h+1)-1)/(k-1) (k^(h+1)-1)/(k-1) - 正确 (k^h-1)/(k-1) Explanation 层数---节点数 number of levels---number of nodes 0---1 1---k 2---k^2 3---k^3 .... h---k^h 所以答案是: so, the answer is: 1+k+k^2+k^3+...+k^h = (k^(h+1)-1)/(k-1)

PROBLEM 3 (1/1 分) 2-3树是一种特殊的树,它满足两个条件: (1)每个内部结点有两个或三个子结点;(2)所有的叶结点到根的路径长度相同; 如果一棵2-3树有9个叶结点,那么它可能有_________个非叶结点。(多项) 2-3 tree is a special kind of tree, it satisfy: (1)Every internal node has 2 or 3 child nodes. (2)All the leaf nodes have the same length of the path to the root node. If a 2-3 tree has 9 leaf nodes, then it may have __________ non-leaf nodes.(There are more than one correct answers) 4, 7, - 正确 4 5 6 7 Explanation 倒数第二层若是3个结点,深度为2,加上根结点,一共4个非叶子结点。 倒数第二层若是4个结点,深度为3,倒数第三层(第二层)有2个结点,一共4+2+1=7个非叶子结点。 If the second level from the bottom has 3 nodes, the depth of tree will be 2, and the tree will has 4 non-leaf nodes, including the root node. If the second level from the bottom has 4 nodes, the depth of tree will be 3, the third level from the bottom will has 2 nodes, and the tree will has 4+2+1=7 non-leaf nodes

北京大学各院系课程设置一览

北京大学各院系课程设置一览 前言 很多同学希望了解在北京大学各院系的某个年级要学习哪些课程,但又不容易查到课程表。本日志充当搬运工作用,将各院系开设课程列于下方,以备查询。 查询前必读 注释: ※在课程名称后标注含义如下: 标注(必)表示此课程为专业必修课,是获得学士学位必须通过的课程; 标注(限)表示此课程为专业任选课(原称专业限选课),各院系规定需在所有专业任选课中选修足够的学分(通常为30~40)以获取学士学位; 标注(通)表示此课程为通选课,非本院系本科生可选修此类课程,并计入通选课所需总学分;通选课无年级限制; 标注(公)表示此课程为全校任选课(原称公共任选课),此类课程不与学位挂钩,公选课无年级限制。 标注(体)表示此课程为体育课,每名学生必须且仅能选修4.0学分体育课;男生必须选修“太极拳”,女生必须选修“健美操”。 ※实际上,多数专业必修课及专业选修课也没有年级限制。对应的年级是“培养方案”推荐的修该门课程的适当年级。 ※不开设任何专业必修课的院系为研究生院或其他不招收本科生的部门,如马克思主义学院、武装部等。 ※由于在某些院系下有不同专业方向,标注为必修课的课程可能并不对于所有学生均为必修(如外国语学院的各个语种分支)。相关信息请咨询相应院系教务。 ※多数课程可以跨院系选修,但可能需缴纳额外学费。 ※院系编号为学号中表示院系字段的数字,因院系调整原因,编号并不连续。“系”可能为院级单位,具体以相应主页标示为准。 ※课程名称后标注数字表示学分。一般情况下,对于非实验课及非习题课,每学分表示平均每周有一节50分钟时长课程,16-18周。 ※院系设置的课程不一定由本院系开设。 ※医学部课程仅包含在本部的课程内容。 ※本一览表不包括政治课、军事理论课、英语课、文科计算机基础、辅修及双学位课程。※本一览表不提供上课地点及主讲教师信息,请与相应院系教务联系。 001 数学科学学院 https://www.360docs.net/doc/6c7774652.html,/ 一年级秋季学期 数学分析(I)(必)5.0 数学分析(I)习题(必)0.0 高等代数(I)(必)5.0 高等代数(I)习题(必)0.0 几何学(必)5.0 几何学习题(必)0.0 一年级春季学期 数学分析(II)(必)5.0

北京大学数据结构与算法信科数算2007秋期末考试题

北京大学信息科学技术学院考试试卷 考试科目:数据结构与算法A 姓名: 学号: 考试时间: 2008年 1 月 9 日 教师: 张铭、赵海燕、王腾蛟、宋国杰 以下为试题和答题纸,共 4 页。 题号 一 二 三 四 五六 七 八 总分 分数 阅卷人

第 1 页 一、(共30分,每空3分)填空 1. 1.无向图G=(V , E),其中:V={a, b, c, d, e, f}, E={(a, b), (a, e), (a, c), (b, e), (c, f), (f, d), (e, d)},对该图进行深度优先遍历,得到的顶点序列正确的是____。 A .a,b,e,c,d,f B .a,c,f,e,b,d C .a,e,b,c,f,d D .a,e,d,f,c,b 2. 下图中的强连通分量的个数为________个。 3. 设有向图G 如下: 写出所有拓扑序列:___________________________________________ 添加一条弧________________________之后, 则仅有唯一的拓扑序列. 4. 请问下面哪些操作在已排序数据上实施比在无序的数据上快 ? A .找最小值 B. 计算算术平均值 C. 找中位数 D. 找出现次数最多的值 5. 序列{15,142,51,68,121,46,57,575,60,89,185 }按最低位优先法进 行基数排序,进行一次分配和收集后得到的序列 。 6. 设输入的关键码满足k 1>k 2>…>k n ,缓冲区大小为m ,用最小值堆进行置换-选择 排序方法可产生____个初始归并段。 7. 在包含n 个关键码的线性表中进行顺序检索,若检索第i 个关键码的概率为p i , 且 分布如下: n n n n p p p p 21,21,....,41,211121====?? 成功检索的平均检索长度是_______________。 8. 假设计算机系统有2048个字节的磁盘块,要存储的每一条记录中4个字节是关 键码,磁盘指针4个字节,64个字节是数据字段。记录已经排序,顺序地存储

北京大学数据结构基础-chap6

数据结构与算法(五) 张铭主讲 采用教材:张铭,王腾蛟,赵海燕编写 高等教育出版社,2008. 6 (“十一五”国家级规划教材) 张铭《数据结构与算法》

第五章 二叉树 ?二叉树的概念 ?二叉树的抽象数据类型?深度优先搜索 ?宽度优先搜索?二叉树的存储结构?二叉搜索树 ?堆与优先队列?Huffman树及其应用 H G E A B C D F I 第五章二叉树

第五章二叉树 5.4 二叉搜索树 二叉搜索树 ?Binary Search Tree (BST ) ?或者是一棵空树; ?或者是具有下列性质的二叉树: ?对于任何一个结点,设其值为K ?则该结点的左子树(若不空)的任意一个结点的值都小于K ;?该结点的右子树(若不空)的任意一个结点的值都大于K ;? 而且它的左右子树也分别为BST ?性质: 中序遍历是正序的(由小到大的排列) 15 1822 51 7 8921 3 488 60 93 35 17 65

BST 示意图 wim wen yum xul wul xal wan zol wil zom yo xem zi yon

检索19 1219 2251 7 8 9 2 1 3 4 88 60 93 35 16 6?只需检索二个子树之一 ?直到K被找到 ?或遇上树叶仍找不到,则不存在 5

二叉树 5.4 二叉搜索树 插入17 ?首先是检索,若找到则不允许插入?若失败,则在该位置插入一个新叶?保持BST性质和性能! 1219 22 51 7 8 9 2 13 4 88 60 93 35 16 6 17 2’ 5

北京大学1997硕士入学数据结构试题

北京大学1997硕士入学数据结构试题

北京大学1997硕士入学数据结构试题 1 (16分) 填空 ① 设只包含要根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数 为,最小结点数 为。 ② 某二叉树结点的对称序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E,则该二叉树结点的前序序列 为,该二叉树对应的树林包括棵树。 ③ 求具有最小带权外部路径长度的扩充二 叉树的算法称为算法,对于给出的一组权W={10,12,16,21,30},通过该算法求出的扩充二叉树的带权外部路径 长度为。

④ 设有关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序进行排序,若采用初始步长为4的Shell排序法,则一趟扫描的结果是;若采用以第一个元素为分界元素的快速排序法,则一趟扫描的结果 是。 2 (10分) 请简要回答下列问题 ① 什么是抽象数据类型?试举一例说明之。 ② 什么是广义表?请简述广义表与线性表 的主要区别。 3 (6分) 给定关键码序列(26,25,20,33,21,24,45,204,42,38,29,31),要用散列法进行存储,规定负载因子a=0.6。 ① 请给出除余法的散列函数。

② 用开地址线性探查法解决碰撞,请画出插入所有的关键码后得到的散列表,并指出发生碰撞的次数。 4 (6分) 本题要求在检索各结点的概率不相等的条件下构造最佳二叉排序树。给出关键码集合 { B, E, H} key1 key2 key3 以及权的序列 ( 9 4 5 8 6 1 3) p1 p2 p3 q0 q1 q2 q3 请构造最佳二叉排序树。 5 (12分)

北大数据结构课件,内部资料,精品

数据结构课程的知识体系和教学实践 张铭许卓群杨冬青唐世渭/文 一、数据结构知识体系 计算机科学已经深入应用到各个领域,不仅有效地解决了各种工程和科学计算中的数值计算问题,而且也有效地解决了许多文本处理、信息检索、数据库管理、图像识别、人工智能等非数值的数据处理问题。数据结构有助于程序员更有效地组织数据、设计高效的算法、完成高质量的程序以满足错综复杂的实际需要。 数据结构是计算机学科的重要分支研究领域。数据结构和算法在计算机学科中的地位十分重要,其他计算机科学领域及有关的应用软件都要使用到各种数据结构。数据结构是算法分析与设计、操作系统、软件工程、数据库概论、编译技术、计算机图形学、人机交互等专业基础课和专业课程的先行课程。语言编译要使用栈、散列表及语法树;操作系统中用队列、存储管理表及目录树等;数据库系统运用线性表,多链表及索引树等进行数据管理;而在人工智能领域,依求解问题性质的差异将涉及到各种不同的数据结构,如广义表,集合、搜索树及各种有向图等等。 美国IEEE和ACM的教学计划CC2001把《算法与数据结构》列入计算机以及信息技术相关学科专业的本科必修基础课程。在我国,《数据结构》已经作为理工科非计算机专业必修的信息技术基础课程之一。世界上许多科技人员对学习、研究数据结构都非常重视,对于从事计算机科学及其应用的科技工作者来说,数据结构更是必须透彻地掌握的重要基础。 1.数据的逻辑结构、存储结构和运算 从字面上来看,数据结构就是指数据间的相互关系。具体到计算机环境,谈到任何一种结构时,都自然地联系着作用在这种类型的数据上的运算(即函数),为了在计算机上执行这些运算,我们有必要把这些数据以某种方式存储在计算机中。因此,我们可以认为,所谓数据结构,就是由某种逻辑关系组织起来的一批数据,按一定的存储方法被存储于计算机中,并在这些数据上定义了一个运算的集合。也就是说,数据结构具有三个方面:数据的逻辑结构、数据的存储结构和数据的运算。 常见逻辑关系有:线性结构、树形结构、图结构和文件结构。其中,线性结构是最简单的数据结构,例如,程序设计语言中往往都会介绍的线性表(包括数组和链表)、栈、队列、向量、字符串等。其中,字符串就是每个结点都是单个字符的线性表。实际上多维数组和广义表也是线性结构的推广。另外,文件其本质也是线性结构,不过由于存储在外存中,对文件数据的访问速度非常慢,因此,仔细研究文件结构和基于文件的外排序也是很有必要的。二叉树和树是非常重要的数据结构,其应用十分灵活而广泛。二叉树可以看作是树的特例。例如,语言编译中要用到语法树,操作系统有目录树,数据库系统需要用索引树等进行数据管理,而在人工智能领域,需要用到搜索树等。许多真实世界的问题都可以图来抽象地定义。例如,一张交通图可以用数据结构的图来形象化地表示:用结点表示城市,用边表示连接城市的高速公路;Web网页的关系也可以表示为图:Web网页作为结点,网页之间的链接作为边。图是一种最通用的逻辑结构,实际上,图?树?二叉树?线性表。 常见的存储方法有:顺序方法、链接方法、索引方法、散列方法。其中,索引存储又分为线性和树形两种。文件结构的索引则往往用树形结构。 对于一种数据结构,往往需要定义一些运算。例如,建立数据结构、清除数据结构、

北京大学数据结构与算法2016-2017数据结构与算法final-ans

北京大学信息科学技术学院考试试卷考试科目:数据结构与算法A 姓名:学号: 考试时间: 2016 年 1 月 6 日任课教师: 以下为试题和答题纸(答案写在答题纸上),包括本页共 6 页。

第一题填空题(每空1分,共8分) 1.设无向图G = (V,E)中V={1, 2, 3, 4, 5, 6, 7},E={(1,2), (1,3), (2,3), (4,5), (3,6), (4,7), (5,7)}。则图G包含的不同生成森林的个数为_____9____。 注释:其中若两个生成森林的边集不同,则认为它们是不同的生成森林。2.若对下面的无向图以1为起点运行单源最短路径的Dijkstra算法,则在 Dijkstra算法的过程中,每一步依次被选出的顶点依次是 _1,2,4,3,7,5,6,8,9,10___。若忽略边权,以6为起点进行一次广度优先周游,将得到一棵广度优先搜索的生成树。设仅包含一个结点的树高度为1,则该生成树的高度为_3_,树的最深层结点集合为_1,5,7,10__。 第一空回答2,4,3,7,5,6,8,9,10也算对 3.用某种排序方法对序列(25, 84, 21, 47, 15, 27, 68, 35, 20)进行排序时,若序 列的变化情况如下,则所采用的排序方法为__快速排序__。 25, 84, 21, 47, 15, 27, 68, 35, 20 20, 15, 21, 25, 47, 27, 68, 35, 84 15, 20, 21, 25, 35, 27, 47, 68, 84 15, 20, 21, 25, 27, 35, 47, 68, 84 4.假设Shell排序的增量序列是(2k, 2k-1, … , 2, 1),其中k=[log2 n]。若待排序序 列是正序的(已经排好)或逆序的,则Shell排序的时间复杂度分别是 __O(nlogn)_、O(nlogn)_。 各0.5分 5.设输入的关键码满足k1>k2>…>k n,缓冲区大小为m。在n=150, m=25的情况 下,用最小值堆进行置换-选择排序方法可产生初始归并段的个数为 ___6____。

数据结构与算法-北大 HW4 BST、堆、Huffman

第4次作业,10月15日9:00课间提交,电子稿提交时间10月15日8:00之前。 4.1 假设BST允许重复关键码,在插入关键码K时,找到同义词K’, 那么K插入在K’为根的右子树中,当作右子树中序周游的第一个结点。 编写一个递归函数printRange,传入一个BST的根,一个较小的值和一个较大的值,按照顺序打印出介于两个值之间的所有结点,并返回重复关键码数目。函数printRange应尽可能少地访问BST的结点。PrintRange的原型为: template int printRange(BinaryTreeNode *root, T min, T max); 注释:重复关键码数目作为函数值返回。1 1 1 2 2 2 3 5的重复关键码数目是6,打印“重复关键码1 1 1 2 2 2”。1 2 3 4 5返回0,打印“重复关键码集为空”。 4.2 除了查找、插入和删除操作以外,有的应用还需要合并和分裂操作,请实现下面三种操作: (1) C.ThreeWayJoin(A, x, B): 构建C,C由原来在A和B中的元素以及元素x构成。假设A中元素的关键字小于x.key,B中元素的关键字大于x.key。最后将A和B设置为空。 (2) C.TwoWayJoin(A, B): 构建C,C由原来在A和B中的元素构成。假设A中所有元素的关键字小于B中所有元素的关键字。最后将A和B设置为空。 (3) A.Split(i, B, x, C): 分裂为三部分:B包含A中所有关键字小于i的元素;如果A含关键字为i的元素,则将该元素复制到x,并返回x的指针,否则返回0;C包含A中所有关键字大于i的元素。最后将A设置为空。 4.3定义:双堆是一棵完全二叉树。该树或者为空,或者满足下列性质: (1) 根结点不含元素。 (2) 左子树是最小堆。 (3) 右子树是最大堆。 (4) 若右子树不空,设i为左子树中的任意结点,j为右子树中的对应结点。若这样的j 不存在,则令j为右子树中对应i的父结点。结点i中的key小于或等于结点j中的key。 左下图是一个双堆。最小堆的根结点含5,最大堆的根结点含45。最小堆结点10与最大堆结点25对应。最小堆中结点9,在性质(4)中定义的结点j是最大堆中结点40。 根据双堆定义,在具有n个元素的双堆中(n > 1),最小元素在最小堆的根结点中,最大元素在最大堆的根结点中。若n = 1,则最小和最大元素相同,在最小堆的根结点中。 在左下图插入4,j指向双堆中的新结点,i为其最小堆中对应结点。为了满足性质(4),交换4和19,然后调整最小堆。

北京大学网络教育数据结构作业

一、单选题(共30题,每题1分,共30分) 每空有一个正确选择,请将正确的选择填在题号前边。(每空1分,共30分) 1. (第一章)数据的逻辑结构被形式地定义为B=(K,R),其中K是 ______的有限集合。 A. 存储 B. 数据操作 C. 数据元素 D. 操作 E. 逻辑结构 F. 映象 G. 算法 H. 关系 试题编号:1.01.1 试题类型:单选题 标准答案:C 试题难度:一般 试题解析:第一章 考生答案:C 考生得分:***

是否评分:已评分 评价描述:*** 2. (第一章)数据的逻辑结构被形式地定义为B=(K,R),其中R是K上的______的有限集合。 A. 存储 B. 数据操作 C. 数据元素 D. 操作 E. 逻辑结构 F. 映象 G. 算法 H. 关系 试题编号:1.01.2 试题类型:单选题 标准答案:H 试题难度:一般 试题解析:第一章 考生答案:H 考生得分:*** 是否评分:已评分

评价描述:*** 3. (第一章)以下关于算法的说法不正确的是______________。 A. 一个算法应包含有限个步骤 B. 算法越简单越好 C. 算法中的所有操作都可以通过已经实现的基本操作运算有限次实现之 D. 算法中的每个步骤都能在有限时间内完成 试题编号:1.02 试题类型:单选题 标准答案:B 试题难度:一般 试题解析:第一章 考生答案:B 考生得分:*** 是否评分:已评分 评价描述:*** 4. (第一章)设某数据结构的二元组形式表示为A=(D ,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A 是______________。 A. 线性结构 B. 树型结构

2005-2006年北京大学数据结构期末考试试题

2005-2006年北京大学数据结构期末考试试题 (答案写在答题纸上) 一、简答(10分) (1) 什么是数据结构?它主要研究的问题是什么? 答:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 数据结构研究的问题是数据的物理结构和逻辑结构,以及在此结构上 定义并实现相关的运算,计算算法的效率。 (2)阅读以下程序,写出带@ 语句的频度(运行次数)。 X=91;Y=100; While(Y>=0) If (X>100) ……………@ {X - =10;Y - -} Else X++; 答: 频度为1111次 二、编程(10分) 编制一个程序就地实现单链表的逆置算法。 说明:1.算法中不能再另外增加结点空间(即不能在算法中使用 malloc()函数分配新的结点空间),但可以增加几个必要的指针变量。 2.该单链表具有头结点。 例如: L 答案: invert(Linklist &L) { p=L; q=L->next; while(q) {r=q->next; q->next=p; p=q; q=r;} L->next=NULL; L=p;} 评分标准:总分为10分。程序不同,但思路正确者也可酌情给分。 三、编程(10分) 用循环队列将序列a0 a1 a2 a3┉┉ak-1 ak ┉an 循环右移k 位。 (序列变为ak ┉┉an a0 a1 a2 a3┉ak-1)。 答案: Right(SqQueue &Q,int k) { for(I=1;I<=k;I++) { Q.base[Q.rear]=Q.base[Q.front]; Q.rear=(Q.rear+1)%Maxsize; Q.front=(Q.front+1)%Maxsize;} } 评分标准:总分为10分。出队为8分,入队为2分。程序不同,但思路正确 也可酌情给分。 四、树(10分) 已知一棵二叉书树的先序序列为ABDHECFGI ,中序序列为DHBEAFCIG ,画 出该二叉树。 五、画图(10分) 画出下图的最小生成树。 设有一组关键字,其出现次序为:105,97,28,52,37,22,16,90,45, 79,59,76,要求用哈希表方法将它们存入长度为15个位置的表中。

北大PKU 慕课 EDX 数据结构与算法 第八章图 quiz与解析

第八章图 PROBLEM 1 (1/1 分) 下图中的强连通分量的个数为多少个? How many strongly connected graphs in the under graph? 3 3 - 正确 3 3 Explanation 有向图强连通的极大子图称为该有向图的强连通分支或者强连通分量。分别为最左边1个点组成的极大子图,中间4个点组成的极大子图和最右边1个点组成的极大子图。分别为最左边1个点,中间4个点和最右边1个点。 Maximal strongly connected subgraphs of a directed graph are called strongly connected components of this directed graph.They are the subgraph consist of the left-most vertex, the subgraph consist of 4 vertices in the middle,,and the subgraph consist of the right-most vertex respectively.

PROBLEM 2 (1/1 分) 下面关于图的说法正确的有(多选) The right statements of graphs in the following are: (There are more than one correct answers) 对于无向图,所有结点的度数加起来一定是偶数。As for undirected graphs, the sum of degrees of all vertices is definitely even number., 将有向图的一个强连通分量中的边全部反向仍然是强连通分量。Reversion all the edges of a strongly connected component of a directed graph, then the subgraph is still a strongly connected component., - 正确 对于无向图,所有结点的度数加起来一定是偶数。As for undirected graphs, the sum of degrees of all vertices is definitely even number. 将有向图的一个强连通分量中的边全部反向仍然是强连通分量。Reversion all the edges of a strongly connected component of a directed graph, then the subgraph is still a strongly connected component. 对于有向图,每个结点的出度必须要等于入度。As for directed graph, each vertices’ out-degree is equal to its in-degree. 对于一个连通图,一定存在一种给边添加方向的方案使得这个图变成强连通图。For a connected graph, there must be a way of directing all the edges of the original graph to make the graph strongly connected graph. Explanation 结点度数是边数的2倍,故一定为偶数。 The sum of degrees of vertices is equal to the amount of edge times 2, so it must be even number. 原来强连通分量中的点必须能够互达,边全部反向后,仍然能够互达。而原来强连通分量外的点和强连通分量内的点之间的边没有变化,以前不能互达现在还是不能,这样保证了仍然是极大的强连通子图。 In the original strongly connected component, every pair of vertices in the subgraph is connected by a path.After reversion, this property doesn't change. And the connectivity of the vertices outside of the subgraph and vertices in the subgraph don't change too. So we can guarantee it still be the maximal strongly connected subgraph. 所有结点的出度之和等于入度之和,但是每个结点并没有出度和入度相等的性质。

北大数据结构与算法期末考试模拟试卷

2014年春季北大《数据结构与算法B》期末考试模拟试卷(本试卷只是给同学们看看考题形式和范围,难度与真实考卷稍有差别) 学号______________ 姓名______________ 教师/教室______________ (注:如未标明,本试卷题中的下标、位置都从0开始计数) 一、填空题(共32分) 1.设有字符串变量String A = “This”, B=“is”, C=“just”, D=“a?test”,请计算下列表达式: (1)A+B+D=_“Thisisa?test”_; (2)D.IndexOf(“t”) = __2___;(求字符在字符串中的第一个位置) (3)B.Strlength() = ___2___ (4)D.SubStr(1,2) = _“?t”__(注:1为起始下标,2为子串长度)【4分】 2.顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为___n___次;若 查找失败,则比较关键字的次数最多为___n___,最少为____n___次。【3分】 3.在散列函数H(key)=key%p中,p值最好取___质数(或素数)___。【1分】 4.对于下图邻接表所对应的有向图,试写出:【2分】 (1) 从顶点①出发进行深度优先遍历结果__1, 2, 3, 4, 5__; (2) 从顶点①出发进行广度优先遍历结果__1, 2, 3, 4, 5 _; 5.当图中各条边上的权值__都相等__ 时,宽度优先搜索算法可用来解决单源最短路径问 题?【2分】 6.一棵有n个结点的满二叉树有_0_个度为1的结点、有_(n-1)/2个分支(非终端)结点; 该满二叉树的深度最大为___(n-1)/2__, 最小为int(log2n)或?log2n?。(独根树深度为0)【4分】 7.对于给定的n个元素,可以构造出的逻辑结构有线性结构,树形结构,图形 结构,_集合__四种。【2分】 8.下面程序段的时间复杂度为__O(n)_。(n>1) [大O表示法] 【2分】 sum=1; for (i=0;sum

相关文档
最新文档