北京大学数据结构与算法B 王洪庆 16期末考试题
2020-2021学年《数据结构》期末考试试题及答案

2020-2021学年《数据结构》期末考试复习试题一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
(完整版),算法与数据结构题库及答案,推荐文档

A 问题规模是 n2
B 问题规模与 n2 成正比
C 执行时间等于 n2
D 执行时间与 n2 成正比
2、关于数据结构的描述,不正确的是( )。
A 数据结构相同,对应的存储结构也相同。
B 数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C 数据结构操作的实现与存储结构有关。
D 定义逻辑结构时可不考虑存储结构。
D O(nlog2n)
28、n 个结点的线索二叉树中,线索的数目是( )。
A n-1
B n+1
C 2n
D 2n-1
29、若数据元素序列{11,12,13,7,8,9,23,4,5}是采用下列排序方法之一得到的第二趟排序
后的结果,则该排序方法只能是( )。
A 插入排序 B 选择排序 C 交换排序 D 归并排序
A. n+1
B. n
C. n-1
11. 一个递归算法必须包括__________。
D. n-2
A. 递归部分 B. 结束条件和递归部分 C. 迭代部分 D. 结束条件和迭代部分
12. 从逻辑上看可以把数据结构分为__________两大类。
第 1 页,共 8 页
A.动态结构、静态结构
B.顺序结构、链式结构
二、填空题
1、算法效率的度量分为 事后测量
和
事前估 两种。
2、算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。它应当具有
输入、输出、确定性、 有穷性
可行性等特性。
3、一个抽象数据类型 ADT 包括
数据操作 和 对象
两个部分。
4、队列的插入操作是在 队尾 进行,删除操作是在 队头
进行。
强烈推荐数据结构期末考试1.doc

一、判断题:(共10分,每题1分)1. 顺序表和一维数组一样,都可以按下标随机(或直接)访问。
()2. 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据应用需要建立的。
()3. 只有用面向对象的计算机语言才能描述数据结构算法。
()4. 在对双向循环链表做删除一个结点操作时,应先将被删除结点的前驱结点和后继结点链接好再执行删除结点操作。
()5. 递归的算法简单、易懂、容易编写,而且执行效率也高。
()6. 在AOE网络中一定只有一条关键路径。
()7. 二叉树是一棵无序树。
()8. 在任何情况下,快速排序需要进行关键码比较的次数都是O(nlog2n)。
()9. 图的深度优先搜索是一种典型的回溯搜索的例子,可以通过递归算法求解。
()10. 当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()二、填空题(20分,每题2分)1.假定一棵二叉树的结点个数为32,则它的最小深度为______。
2.在一棵二叉树中,度为2的结点有5个,度为1的结点有6个,那么叶子结点有______个。
3.一棵深度为5的满二叉树的结点总数为______个。
4.假定一棵树的广义表表示为A(B(C, D(E, F,G), H(I, J))),则结点H的双亲结点为______。
5.对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小为______。
6.若要对某二叉排序树进行遍历,保证输出元素的值序列按增序排列,应对该二叉排序树采用____________遍历法。
7.元素关键字转换为该元素存储位置的函数f称为____________。
8.每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做____________排序。
9.假定一组数据的关键字为{46,79,56,38,40,84},则利用堆排序方法建立的初始大顶堆为__________________。
数据结构与算法模考试题(含参考答案)

数据结构与算法模考试题(含参考答案)一、单选题(共100题,每题1分,共100分)1、某公司秘书小莉经常需要用Word编辑中文公文,她希望所录入的正文都能够段首空两个字符,最简捷的操作方法是:A、在每次编辑公文前,先将“正文”样式修改为“首行缩进 2 字符”。
B、每次编辑公文时,先输入内容然后选中所有正文文本将其设为“首行缩进 2 字符”。
C、在一个空白文档中将“正文”样式修改为“首行缩进 2 字符”,然后将当前样式集设为默认值。
D、将一个“正文”样式为“首行缩进 2 字符”正确答案:C2、现代微型计算机中所采用的电子元器件是:A、大规模和超大规模集成电路B、电子管C、晶体管D、小规模集成电路正确答案:A3、图书馆管理系统中实体图书和实体借阅人之间的联系是A、1:1B、1:NC、M:ND、N:1正确答案:C4、计算机网络最突出的优点是:A、资源共享和快速传输信息B、高精度计算和收发邮件C、运算速度快和快速传输信息D、存储容量大和高精度正确答案:A5、在 Excel 工作表单元格中输入公式时,F$2 的单元格引用方式称为:A、绝对地址引用B、交叉地址引用C、混合地址引用D、相对地址引用正确答案:C6、域名代码 MIL 表示:A、政府机关B、国际组织C、商业组织D、军事部门正确答案:D7、以下对 Excel 高级筛选功能,说法正确的是:A、高级筛选之前必须对数据进行排序B、利用“数据”选项卡中的“排序和筛选”组内的“筛选”命令可进行高级筛选C、高级筛选通常需要在工作表中设置条件区域D、高级筛选就是自定义筛选第 6 组正确答案:C8、软件工程的三要素是A、方法、工具和过程B、方法、工具和文档第 47 组C、方法、工具和环境D、方法、平台和管理正确答案:A9、字长是计算机的一个重要指标,在工作频率不变和 CPU 体系结构相似的前提下,字长与计算机性能的关系是:A、字长越长,计算机的数据处理速度越快B、字长越短,计算机的数据处理速度越快C、字长表示计算机的存储容量大小,字长越长计算机的读取速度越快D、字长越短,表示计算机的并行能力越强正确答案:A10、下面描述错误的是A、类中包含数据(属性)和方法(或操作)B、类中包含对数据的操作(方法)C、类是对象的实例D、类具有抽象性第 49 组正确答案:C11、在数据库的三级模式中,可以有任意多个A、模式B、内模式(物理模式)C、外模式(用户模式)正确答案:C12、以下关于计算机病毒的说法,不正确的是:A、计算机病毒一般会寄生在其他程序中B、计算机病毒一般会传染其他文件C、计算机病毒一般会具有自愈性D、计算机病毒一般会具有潜伏性正确答案:C13、CPU 的参数如 2800MHz,指的是:A、CPU 的速度B、CPU 的大小C、CPU 的时钟主频D、CPU 的字长正确答案:C14、设栈与队列初始状态为空。
16秋北理工《数据结构与算法》在线作业

北理工《数据结构与算法》在线作业一、单选题(共40 道试题,共100 分。
)1. 下列说法正确的是()A. 堆栈是在两端操作、先进后出的线性表B. 堆栈是在一端操作、先进后出的线性表C. 队列是在一端操作、先进先出的线性表D. 队列是在两端操作、后进先出的线性表正确答案:2. 判定一个队列Q(最多元素为m0)为满队列的条件是()A. rear-front= = m0B. rear-front-1= =m0C. front= =rearD. front= =rear+1正确答案:3. 评价排序算法好坏的标准主要是()。
A. 执行时间B. 辅助空间C. 算法本身的复杂度D. 执行时间和所需的辅助空间正确答案:4. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A. 3700B. 4376C. 3900D. 4620正确答案:5. 根据二叉树的定义可知二叉树共有()种不同的形态。
A. 4B. 5C. 6D. 7正确答案:6. 以下排序方法中,稳定的排序方法是()。
A. 直接插入排序和希尔排序B. 直接插入排序和冒泡排序C. 希尔排序和快速排序D. 冒泡排序和快速排序正确答案:7. 下述几种排序方法中,平均查找长度最小的是()。
A. 插入排序B. 选择排序C. 快速排序D. 归并排序正确答案:8. 在数据结构中,与所使用的计算机无关的是数据的()结构A. 逻辑B. 存储C. 逻辑和存储D. 物理正确答案:9. 二分查找(又称折半查找)要求查找表中的记录按关键字()。
A. 有序B. 无序C. 既可有序也可无序正确答案:10. 以二叉链表作为二叉树的存贮结构时,在具有n个结点的二叉链表中(n>0),空指针域的个数为()。
A. 2n-1B. n+1C. n-1D. 2n+1正确答案:11. 设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()A. 3B. 4C. 5D. 1正确答案:12. 长度为256的表,采用分块查找,每块最佳长度为()。
数据结构与算法习题及答案

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A.存储结构B.存储实现C.逻辑结构D.运算实现(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。
A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等(4)以下说法正确的是()。
A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构(5)以下与数据的存储结构无关的术语是()。
A.顺序队列 B. 链表 C.有序表 D. 链栈(6)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
北京大学数据结构与算法2017-2018数算期中考试题考试试题(Final)

北京大学信息科学技术学院考试试卷 考试科目:数据结构与算法A 姓名: 学号: 考试时间:2017年 11月 15日 任课教师: 以下以下为答题纸,共 页注意事项:1. 全部题目都在空白答题纸上解答。
2. 试卷对算法设计都有质量要求,请尽量按照试题中的要求来写算法。
否则将酌情扣分。
3. 请申明所写算法的基本思想,并在算法段加以恰当的注释。
以下为试题和答题纸,共5页,请把答案写在答题纸。
题号 一 二 三 四 五 总分 分数 阅卷人 北京大学考场纪律 1、考生进入考场后,按照监考老师安排隔位就座,将学生证放在桌面上。
无学生证者不能参加考试;迟到超过15分钟不得入场。
在考试开始30分钟后方可交卷出场。
2、除必要的文具和主考教师允许的工具书、参考书、计算器以外,其它所有物品(包括空白纸张、手机等)不得带入座位,已经带入考场的必须放在监考人员指定的位置,并关闭手机等一切电子设备。
3、考试使用的试题、答卷、草稿纸由监考人员统一发放,考试结束时收回,一律不准带出考场。
若有试题印制问题请向监考教师提出,不得向其他考生询问。
提前答完试卷,应举手示意请监考人员收卷后方可离开;交卷后不得在考场内逗留或在附近高声交谈。
未交卷擅自离开考场,不得重新进入考场答卷。
考试结束监考人员宣布收卷时,考生立即停止答卷,在座位上等待监考人员收卷清点后,方可离场。
4、考生要严格遵守考场规则,在规定时间内独立完成答卷。
不准旁窥、交头接耳、打暗号,不准携带与考试内容相关的材料参加考试,不准抄袭或者有意让他人抄袭答题内容,不准接传答案或者试卷等。
凡有严重违纪或作弊者,一经发现,当场取消其考试资格,并根据《北京大学本科考试工作与学习纪律管理规定》及其他相关规定严肃处理。
5、考生须确认自己填写的个人信息真实、准确,并承担信息填写错误带来的一切责任与后果。
学校倡议所有考生以北京大学学生的荣誉与诚信答卷,共同维护北京大学的学术声誉。
装订线内不要答题一、选择与填空(每空2分,共24分)得分1.下面函数的时间复杂度是()void recursive(int n, int m, int k){if (n <= 0)printf("%d, %d\n", m, k);else {recursive(n-1, m+1, k);recursive(n-1, m, k+1);}}A.O(n*m*k)B. O(n^2*m^2)B.O(2^n) D. O(n!)2.完成在双循环链表结点p之后插入s的操作为( ):A. p->next->prev=s; s->prev=p; s->next=p->next; p->next=s;B. p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;C. s->next=p->next; s->prev=p; p->next->prev=s; p->next=s;D. s->prev=p; s->next=p->next; s->prev->next=s; s->next->prev=s;3.设栈S和队列Q初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进队列Q,若6 个元素出队序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少是( )A.2;B.3;C.4;D.64.设循环队列的容量为40 (序号从0到39),现经过一系列的入队和出队运算后:1)front=12,rear=19;2)front=19,rear=12;在这两种情况下,循环队列中的元素个数分别为和。
北京大学数据结构与算法2015-16DS期末考试题考试

bool isStr; //标记该结点处是否构成单词
struct TrieNode *next[MAX]; //儿子分支
}Trie;
void insert(Trie *root,const char *s) //将单词s插入到字典树中
{
if(root==NULL||*s=='\0')
return;
= 2 (表示AVL Tree高度为2的节点总数)
= + + 1 (表示AVL Tree高度为h的节点总数)
换句话说,当节点数为N时,高度h最多为 。
三、算法填空(每空3分,共12分)
1.下列代码利用Trie树,实现了字典树中单词的插入,试补全下列代码段。
typedef struct TrieNode //Trie结点声明
利用伸展树实现。对于伸展树中每个节点需要维护一下几个信息:
这个点的左右孩子left,right,父亲parent,数值value
这个点为根的子树的大小size,总和sum,最大子序列maxsum。子树左端所延伸的最大子序列leftmax,和子树右端所延伸的最大子序列rightmax。
1.插入操作:把第k个位置上的数splay到根节点,将待插入数字插入到根的右子树的中(即最左节点)。之后将插入节点splay到根节点。
2.删除:删除数组第k个位置的数字
3.修改:将数组第k个位置的数字x修改为y
4.求和:计算数组位置k1到k2的子序列的和
5.求最大连续子序列:求出整个数组中最大连续子序列的和
请设计出一个算法可以实现上述操作,并尽量优化你的算法。你只需要描述算法的思想,以及各个操作的实现思路,也可以用伪代码来表示。
答案: