北京工业大学计算机科学与技术895计算机学科专业基础2016年数据结构
北京工业大学-计算机软件基础考试习题
–
运算处理
内容:建表、插入、删除、输出; 实现:利用指针变量作为函数参数,传递 线性表地址;
•void CreateList (SequenList *L) { • int n, i, mydata;
• printf("\nPlease input total number of data item\n");
int exp;
struct polyterm *next;
} TERM;
10.设有编号为1,2,3,4的四辆列车,顺序 进入一个栈式结构的车站,具体写出这四辆列 车开出车站的所有可能的顺序。
1, 2, 3, 4 1, 3, 4, 2 2, 1, 4, 3 2, 4, 3, 1 3, 4, 2, 1
–
人—机交互部分
内容:通过屏幕提示功能选择菜单; 通过键盘输入实现功能的选择; 要求:提示内容清晰易读,
键盘操作简单准确;
实现:循环扫描键盘,等待用户输入;
根据输入内容确定要执行的分支程序。
int main( ) { SequenList MyList,*L; char cmd; int i, t, x; L=&MyList; L->last=-1; do { do { clrscr( ); printf("\n\t c, C......Create List\n"); printf("\n\t i, I .....Insert"); printf("\n\t d, D......Delete"); •while •While ((cmd!='d')&&(cmd!='D')&& ((toupper(cmd)!='D')&& printf("\n\t q, Q......Quit\n\tYour choice:"); (cmd!='q')&&(cmd!='Q')&& (toupper(cmd)!='Q')&& cmd=getchar( );
北京工业大学十套数据结构试题及答案
已知一个图的顶点集 V 和边集 E 分别为:V={1,2,3,4,5,6,7}; E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25}; 用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。 4. 画出向小根堆中加入数据 4, 2, 5, 8, 3 时,每加入一个数据后堆的变化。 四、阅读算法(每题 7 分,共 14 分) 1. LinkList mynote(LinkList L) {//L 是不带头结点的单链表的头指针 if(L&&L->next){ q=L;L=L->next;p=L; S1: while(p->next) p=p->next; S2: p->next=q;q->next=NULL; 3. L; } 请回答下列问题: (1)说明语句 S1 的功能; (2)说明语句组 S2 的功能; (3)设链表表示的线性表为(a1,a2, …,an),写出算法执行后的返回值所表示的线性 表。 2. void ABC(BTNode * BT) { if BT { ABC (BT->left); ABC (BT->right); cout<<BT->data<<' '; } } 该算法的功能是:
数据结构试卷(二)
一、选择题(24 分) 1.下面关于线性表的叙述错误的是( ) 。 (A) 线性表采用顺序存储必须占用一片连续的存储空间 (B) 线性表采用链式存储不必占用一片连续的存储空间 (C) 线性表采用链式存储便于插入和删除操作的实现 (D) 线性表采用顺序存储便于插入和删除操作的实现 2.设哈夫曼树中的叶子结点总数为 m,若用二叉链表作为存储结构,则该哈夫曼树中总共 有( )个空指针域。 (A) 2m-1 (B) 2m (C) 2m+1 (D) 4m 3.设顺序循环队列 Q[0:M-1]的头指针和尾指针分别为 F 和 R,头指针 F 总是指向队头元素 的前一位置,尾指针 R 总是指向队尾元素的当前位置,则该循环队列中的元素个数为 ( ) 。 (A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M 4.设某棵二叉树的中序遍历序列为 ABCD,前序遍历序列为 CABD,则后序遍历该二叉树 得到序列为( ) 。 (A) BADC (B) BCDA (C) CDAB (D) CBDA 5.设某完全无向图中有 n 个顶点,则该完全无向图中有( )条边。 2 2 (A) n(n-1)/2 (B) n(n-1) (C) n (D) n -1 6.设某棵二叉树中有 2000 个结点,则该二叉树的最小高度为( ) 。 (A) 9 (B) 10 (C) 11 (D) 12 7.设某有向图中有 n 个顶点,则该有向图对应的邻接表中有( )个表头结点。 (A) n-1 (B) n (C) n+1 (D) 2n-1 8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字 5 为基准进行一趟快 速排序的结果为( ) 。 (A) 2,3,5,8,6 (B) 3,2,5,8,6 (C) 3,2,5,6,8 (D) 2,3,6,5,8
北京工业大学 北工大 1999年数据结构 考研真题及答案解析
北京工业大学1999年硕士研究生入学考试试题考试科目:数据结构一、(26分)填空、选择(一个或多个)题,1-6题每小题2分:1下面的叙述中,不正确的是()A关键活动不按期完成就会影响整个工程的完工时间。
B任何一个关键工程提前完成,将使整个工程提前完成。
C所有关键活动都提前完成,则使整个工程提前完成。
D提些关键活动若提前完成,则将使整个工程提前完成。
2 下面的排序算法中,不稳定得是()A 起泡排序B 折半插入排序C简单选择排序D希尔排序E基数排序F堆排序。
3包含结点A,B,C的二叉树有-----------种不同的状态,---------种不同的二叉树。
4包含结点A,B,C的树有------种不同形态,------种不同的树。
5分块检索中,若索引表和各块内存均用顺序查找,则有900各元素的线性表分成-----块最好:若分成25块;其平均查找长度为--------。
6下面的程序段中,对x的赋值语句的频度为------------(表示为n的函数)FOR I:= 1TO N DOFOR J:=1 TOI DOFOR K:=I TO J DO x:=x+DELTA;7(8分)设有字符序列Q H C Y P A M S R D F X要求按字符升列排序:采用初是长为4的希尔(3bell)排序,一趟扫描的结果是――――――――― 采用以元素为分界元素的快速排序,一躺扫描的结果是------------。
8(6分)已知广义表:A-(0),B-(),C-(a,b,c,d),D-(A,B,C)它们的存储结构图为(接两种结构种的任一种即可):二(6分)编写递归程序将二叉树逆时针旋转90度打印出来。
如右图:(要求用类PASCAL 语言,并描述结构)。
三 (8分)用依次输入的关键字13,29,41,19,5,1,7和6建一棵三阶B-树,画出建该树的变化过程示意图(每插入一个结点至少用一张图)。
四(共20分)已知顶点1——6和输入边与权值的序列(如右框中): 2 4 6 每行三个数表示一条边的两个端点和其权值,共11行。
数据结构1800题(答案全)
数据结构1800题(答案全)一、选择题1. 算法的计算量的大小称为计算的(B )。
【北京邮电大学2000二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是()。
【中山大学1998 二、1(2分)】A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A 和C.5. 下面关于算法说法错误的是()【南京理工大学2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学1996 一、4(2分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A.O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学1999 一、3(1分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,()是非线性数据结构【中山大学1999 一、4】A.树B.字符串C.队D.栈15. 下列数据中,()是非线性数据结构。
北工大回忆版2013
北京工业大学2013回忆版试题首先题型:DS选择10分,一个一分,填空10个一个2分共20分,第三题为解答40分,4个题,第四题2个题一个15分。
C3个程序,读程序写结果,并指出程序的不足之处一个10分空30分算法描述题用文字描述的20分,要求写出程序一、数据结构(100分)选择题10分,10个题考的知识顺序可呢不一样,选项也可能顺序不一样,(忘了,记不清了,都是很基础的,希望其他的人补上吧)1. 下列排序算法那个是稳定的a,简单b快速c堆排序d冒泡(d)记住口诀吧,自己想的(简单希尔快速堆,或者杰西快堆,不稳定)2. 堆排序是急于什么来排序的a插入b选择c归并d3. 抽象数据结构的定义4.填空20分,10个题(其他的网了)1. 算法可行性的定义2. 快速排序的时候为什么需要事先将所有的数重新洗牌打乱顺序3. 迷宫算法为什么用栈保存走过的路径4. 对应的一个二叉树的线序ADBCFGECFMI中序DBCFGEACFIM请问对应的数有几颗,(中序中前边的那些字母顺序网了太多了,但不影响做题,A 右边的那4个字母应该是对的)5. 一个M*N矩阵,用行压缩存储,第一个存在了Loc(0,0),每个站L个单元,求aij的存储位置解答题第一题、某本数据结构的课本的目录是1.XXXXXX1.1XXXXXX1.2XXXXXX2.XXXXXX2.1XXXXXXX2.2XXXXXX……可以写出他的广义表表示为(1(1.1,1.2),2(2.1,2.2),……)(1)广义表的子表个代表目录的什么(2)广义表的广度深度个代表目录的什么(3)为广义表设计数据结构第二题(1)树经常转化为二叉树来进行操作,为什么(2)数的子孙节点转化成二叉树之间是什么关系(用例子说明)(3)数的兄弟节点在转化成二叉树的节点之间是什么关系(用例子说明)第三题对于一个有向图的邻接矩阵,(1)画出对应的有向图(2)写出3条从节点1到节点7的路径,以及路径长度(3)按照dijkstra算法思想,写出节点1到7的最短路径记忆路径长度第四题对于归并排序,当子快长度小于给定一个阙值时,(1)小于给定一个阙值时为什么用直接插入排序更好?(2)对于直接插入排序以及快速排序,从时间复杂度以及空间复杂度角度分析,用那个好?(还是基于归并排序)算法题(30分,一个15分)第一个给定一个二叉排序数,要求将二叉排序数的各个节点的数按从高到底的顺序插入到链表里比如:二叉树的中序序列为(1,2,4,6,8)则对应链表(8,6,4,2,1)题给了二差排序树的结构体,以及链表的结构体,假设链表头结点已给出了Int Convert(Bitree t,LinkList&H)第二个:现在手机GPS越来越普及了,输入对应的起点终点就可以看到从哪到哪的最短路径,以及最短时间(1).问若对数据进行处理(还是设计来)需要事先知道那些数据(2)请对这设计数据结构二.C语言部分(50分)一.3个程序,根据程序写出结构来,并指出程序的不合理的地方一个10分二.一个算法描述题:(记得不是很清楚了,有个大体思路)大体思路如下:输入若干文本行,保存于line里,并用buf输出相应的行号与内容步骤1.n=0,x=1,i=0;2.Gets(lines)3.n = strlen(lines);4.if(n=0) 执行第7步(这里应该是执行第13步,可能有些小的步骤掉了,凑不出13步了)5.if(n>x)清空buf,X=n;将line里面的内容以及行号保存到buf6if(n=x)将line里面的内容以及行号保存到buf7 将buf里的内容输出1,描述算法的功能2,设计算法风华哥,我也来凑个热闹,提供个版本供大家参考:(2013北工大学硕&部分专硕考题情况)C语言:50分DS数据结构:100分总体来说不太难。
北京工业大学2016年硕士研究生各学科复试分数线
4
4
5
5
工商管理
4
4
5
5
工商管理(专业学位)
7
3
8
9
公共管理(专业学位)
7
3
8
9
建筑学
3
3
6
6
城乡规划学
3
3
6
6
建筑学(专业学位)
3
3
6
6
工业设计工程(专业学
3
3
位)
6
6
城市规划(专业学位)
3
3
6
6
物理学
3
3
9
9
光学工程
3
3
6
6
光学工程(专业学位)
3
3
6
6
28
60
60
0
29
60
60
0
29
54
54
4
54
6
6
54
资源环境与循环经济
3
3
(交叉学科)
54
6
6
工业设计工程(专业学
3
3
位)
54
6
6
31 68
5
31 68
5
28 59
5
54
26
5
26 54
5
35 80
0
26 54
5 26
54 5 28
59 5
26 54
5
32
0
32 68
0
32 68
5
26
54
5
26 54
5
26 54
5
学院
【北京工业大学896数据结构】真题精讲
北京工业大学896数据结构目录目录 (1)1.1真题分析 (2)1.2 真题剖析 (2)1.2.1 2016年真题 (2)通过真题的学习和掌握,可以帮助学生把握考试重点。
每年的考点在历年试题中几乎都有重复率,因此,通过对历年真题的把握,可以掌握今年考试的重点。
另外,可以通过对历年真题的学习,把握出题者的思路及方法。
每种考试都有自己的一种固定的模式和结构,而这种模式和结构,通过认真揣摩历年真题,可以找到命题规律和学习规律。
因此,本部分就真题进行详细剖析,以便考生掌握命题规律、知悉命题的重点、难点、高频考点,帮助考生迅速搭建该学科考试的侧重点和命题规则。
1.1真题分析综合来说,896数据结构这几年的题型变化不大,主要有5种题型,包括单项选择题(20分,每题2分),填空题(20分,每题2分),解答题(50分,每题10分),算法阅读题(15分,每题5分),算法设计题(45分,每题15分)。
1.2 真题剖析1.2.1 2016年真题一单项选择题(20分,每题2分)【题目】1【解题】A【题目】2【解题】C【题目】3【解题】A 【题目】4【解题】B 【题目】5【解题】B【题目】6【解题】D【题目】7【解题】C【题目】8【解题】A【题目】9【解题】C【题目】10【解题】A二填空题(20分,每题2分)【题目】1【解题】线性结构、树状结构、图状结构【题目】2【解题】顺序表【题目】3【解题】O(n)【题目】4【解题】存储空间的浪费【题目】5【解题】n-1【题目】6【解题】d【题目】7【解题】n(n-1)【题目】8【解题】n【题目】9【解题】27【题目】10【解题】h+1三解答题(50分,每题10分)【题目】1【解题】【题目】2【解题】【题目】3【解题】【题目】4【解题】【题目】5【解题】四算法阅读题(15分,每题5分)【解题】五算法设计题(45分,每题15分)【题目】1【解题】【题目】2【解题】【题目】3【解题】。
2019 北京工业大学 895《计算机学科专业基础》考试大纲
2019 年北京工业大学895《计算机学科专业基础》考试大纲一、考试要求计算机学科专业基础考试大纲适用于北京工业大学信息学部(0812)计算机科学与技术学科、(0839)网络空间安全、北京未来网络科技高精尖创新中心(085211)计算机技术(专业学位)的硕士研究生招生考试。
考试内容主要包括两部分:数据结构与语言程序设计,这两门课程是计算机科学与技术学科的重要基础课程。
数据结构的考试内容主要包括基本数据结构、排序、索引、检索、高级数据结构等内容,从逻辑结构的角度包括线性表、栈、队列、二叉树、树和图等各种基本数据结构;从算法的角度包括各类排序、检索和索引算法。
要求考生对其中的基本概念有很深入的理解,掌握数据结构与算法的基本概念、合理组织数据的基本方法、高效处理数据的基本算法、并具备面对实际问题选择恰当数据结构与相应算法的能力。
C 语言程序设计部分的考试内容主要包括C 语言程序设计的基础概念、方法和技巧。
要求考生熟练掌握高级语言的基本控制结构、数据组织和程序组织形式。
熟练使用C 语言的结构体、指针、文件等。
具有基本的计算思维能力,熟悉简单算法,能够构建实际问题的模块化解决方案。
二、考试内容数据结构部分:1.数据结构的相关概念、算法概念、算法性质及算法分析(时间复杂度与空间复杂度);2.线性表逻辑结构定义、存储结构的表示,以及在特定存储结构下线性表基本运算的算法实现;3.栈与队列的逻辑结构定义、存储结构的表示,基本操作特点,栈与队列的基本应用;4.串的逻辑结构定义,基本操作的含义与实现;5.数组定义及其顺序存储,矩阵的压缩存储,广义表定义及存储结构;6.树的定义与存储结构,二叉树的定义与性质、存储结构,二叉树遍历算法(三序遍历与按层遍历),赫夫曼树与赫夫曼编码以及二叉树基本算法的实现与应用;7.图的定义与术语,图的存储结构,图的遍历(深度优先搜索与广度优先搜索),最小生成树、拓扑排序以及最短路径的求解;8.查找的相关概念,静态查找表(顺序表的查找与有序表的查找),动态查找表(二叉排序树),B-树,B+树,AVL 树,哈希表的相关概念;9.排序的相关概念,掌握插入排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序算法的执行过程、时空复杂度、稳定性以及使用场合。
北工大考研复试班-北京工业大学信息学部计算机科学与技术考研复试经验分享
北工大考研复试班-北京工业大学信息学部计算机科学与技术考研复试经验分享北京工业大学(Beijing University of Technology),简称"北工大",是中国北京市人民政府直属的一所以工为主,理、工、经、管、文、法、艺术等学科门类相结合的全国重点大学,是国家"211工程"重点建设院校,入选"卓越工程师教育培养计划"、"111计划",设有研究生院和国家大学科技园。
北京工业大学创建于1960年,初设机械、电机、无线电、化工、数理5个系,历经多次整合兼并,逐渐形成了理工、经管、文法相结合的多科性体制;学校于1981年成为第一批硕士学位授予单位,1985年成为博士学位授予单位。
启道考研复式班根据历年辅导经验,编辑整理以下考研复试相关内容,希望对广大考研复试学子有所帮助,提前预祝大家复试金榜题名!专业介绍计算机科学与技术,本专业主要学习计算机科学与技术包括计算机硬件、软件与应用的基本理论、基础知识和基本技能与方法,接受从事计算机应用开发和研究能力的基本训练等。
招生人数与考试科目复试时间地点3月22日各学院(部、所)复试安排(含相关学科/专业调剂系统开通时间、信息公示栏等)各学院(部、所)复试时间如有微调,以学院(部、所)通知为准。
复试内容复试内容包含外语、专业课与综合面试三个方面:外语:所有复试考生均需参加外语听、说能力的测试。
测试均由各学院(部、所)、学科/专业结合专业知识在复试时进行。
专业课:专业笔试科目考生可登录我校研招网查阅。
专业课全面考核考生对本学科(专业)理论知识和应用技能掌握程度,利用所学理论发现、分析和解决实际问题的能力(有条件的可测试考生实验和操作技能)。
综合面试:包括专业素质与综合素质,具体包括大学阶段学习情况及成绩、对本学科发展动态的了解、在本专业领域发展的潜力,以及分析问题能力、实际经验、人文素质、举止及礼仪、心理状况等。
北京市考研计算机科学专业数据结构常考题
北京市考研计算机科学专业数据结构常考题数据结构是计算机科学专业中的基础课程之一,对于考研的学生来说,掌握数据结构常考题是非常重要的。
本文将介绍一些北京市考研计算机科学专业数据结构常考题,并附上详细的解答过程。
1. 栈和队列相关题目题目一:编写一个函数,判断输入的括号序列是否合法。
括号序列由"( )"、"[ ]"和"{ }"组成,要求括号必须按照正确的顺序闭合。
解答一:我们可以利用栈来解决这个问题。
遍历输入的括号序列,当遇到左括号时,将其压入栈中;当遇到右括号时,判断栈顶的括号是否与之匹配,如果匹配,则将栈顶的左括号弹出,继续检查下一个字符;如果不匹配,则返回false。
最后,如果栈中没有元素,表示所有的括号都匹配,返回true;否则,返回false。
题目二:给定一个字符串,判断其是否为回文字符串。
解答二:同样可以利用栈来解决。
将字符串的每个字符依次压入栈中,然后依次弹出栈顶元素与字符串的字符比较,如果全部相等,则说明是回文字符串;否则,不是回文字符串。
2. 链表相关题目题目三:给定一个链表,判断是否存在环。
解答三:可以使用快慢指针来解决。
定义两个指针,一个慢指针每次移动一步,一个快指针每次移动两步。
如果链表中存在环,那么两个指针最终会相遇;如果链表中不存在环,那么快指针会先到达链表的末尾。
题目四:给定一个链表和一个目标值,删除链表中所有等于给定值的节点。
解答四:遍历链表,如果节点的值等于目标值,删除该节点。
需要注意的是,删除节点时需要更新链表的指针,使得前一个节点指向后一个节点。
3. 树相关题目题目五:给定一个二叉树,求其前序遍历。
解答五:可以使用递归或者非递归的方式实现前序遍历。
递归实现时,先输出当前节点的值,然后递归遍历左子树,最后递归遍历右子树。
非递归实现时,使用栈来辅助遍历,先将根节点压入栈中,在栈不为空的情况下进行循环,每次循环弹出栈顶元素,并输出其值,然后将右子节点压入栈中,最后将左子节点压入栈中。
2022年北京工业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年北京工业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。
A.5B.6C.8D.92、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A.13B.33C.18D.403、连续存储设计时,存储单元的地址()。
A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l5、已知串S='aaab',其next数组值为()。
A.0123B.1123C.1231D.12116、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。
假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。
初始时为空,下列判断队空和队满的条件中,正确的是()。
A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)7、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。
A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=28、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。
北京工业大学 数据结构 期末复习
第 4 章 字符串(了解)
基本概念 存储结构(顺序、标准类) 基本操作的含义
第5章 二叉树
➢ 定义、性质、存储结构(相应的类定义) ➢ 满二叉树、完全二叉树及扩充二叉树 ➢ 抽象数据类型定义中的基本操作含义 ➢ 深度周游(递归与非递归),广度周游 ➢ 二叉搜索树插入、删除(改进)与检索算法;
按需分配(插入:分配一个结点/删除:回收一结点) 特点:逻辑相邻物理不一定相邻
链表—单向、循环、双向
不特殊说明,均带头结点(避免对空表的特殊处理) 算法:(时间复杂性)
✓在有序表中插入/删除结点 ✓给定元素位置,插入/删除相应结点 注意: ✓对循环链表操作时,尾部的判断 ✓双向链表的插入/删除结点 ✓删除结点一定要释放空间
19 20 17 18 19 13 17 18 19 14 17 18
24 22 26 13 24 22 26 20 24 22 26 20
插入13
2013
1413
最小堆的删除
用最后结点替换被删结点,自上至下调整成堆 (最后结点>被删结点,只影响其子树的最小堆性质)
12 1246 15
12 19 15
E
D JI
F
依次从左至右对森林每棵树进行后序周游
A
G
先序:ABCEFD GHJI 后序:BEFCDA JHIG
BCD H I
EF J
带右链的先根次序表示法
这种表示法与llink—rlink表示法相比,用ltag代替了llink,占用的 存储单元要少些,但并不丢失信息
可以从结点的次序和ltag的值完全可以推知llink ltag= =0:有左子,它的llink指向该结点数组右邻 ltag= =1:没有左子,它的llink为空
北京工业大学 北工大 2005年数据结构 大纲 考研真题及答案解析
布丁考研网,在读学长提供高参考价值的复习资料 北京工业大学计算机学院2005年硕士研究生入学考试数据结构考试大纲科目代码:471科目名称:数据结构考试大纲适用专业:计算机软件与理论、计算机应用技术参考书:一、考试要求1.深刻理解并领会数据结构的基本概念和基本理论,熟练掌握常用数据结构的逻辑结构、存储结构及其相关的操作算法;2.具有良好的程序设计能力和基本的算法分析能力,能够根据实际问题的应用需求,选择恰当的数据结构,设计出相应的算法和程序;3.在数据结构的试题中,使用C语言的风格描述算法。
二、考试范围参考书《数据结构》第1、2、3、4、5、6、7、9、10和12章。
重点内容如下:1.数据结构的基本概念和术语、抽象数据类型和算法分析的基本方法;2.线性表的类型定义,线性表顺序表示和实现、链式表示和实现,循环链表和双向链表的操作算法,线性表的应用;3.栈和队列的类型定义、表示和实现,栈与队列的应用;4.串的表示及实现,串操作的简单应用;5.数组的顺序表示及实现,矩阵的压缩存储,广义表的类型定义、表示及算法;6.树的表示和遍历算法的实现,二叉树的表示和遍历算法的实现与运用,树与二叉树的转化,赫夫曼树及其应用;7.图的存储表示(邻接矩阵、邻接表、十字链表和邻接多重表),图的深度优先和广度优先搜索算法,最小生成树,拓扑排序、关键路径、单源最短路径;8.静态查找表及算法分析,二叉排序树,B树的查找、插入和删除操作,键树的算法,哈希表的构造及解决冲突的方法;9.简单排序(插入排序、起泡排序、选择排序)的算法和算法分析,先进排序(快速排序、堆排序、归并排序、基数排序)的算法和算法分析结论,各种排序方法的特点比较;10.文件的基本概念,顺序文件、索引文件、散列文件和多关键字文件。
第1页共1页。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A. 直接插入排序
B. 直接交换排序
第 31 页 共 35 页
C. 堆排序
D. 快速排序
76. 二叉平衡树的平衡调整策略中,RL 是指: A. 先对失衡结点 R 旋,再对失衡结点 L 旋; B. 先对失衡结点左子 R 旋,再对失衡结点 L 旋; C. 先对失衡结点右子 R 旋,再对失衡结点 L 旋; D. 先对失衡结点左子 R 旋,再对失衡结点右子 L 旋;
77. 快速排序法的最坏时间复杂度为:
A. O(logn)
B. O(nlogn)
C. O(n)
D. O(n2)
78. 堆排序法的最坏时间复杂度为:
A. O(logn)
B. O(nlogn)
C. O(n)
D. O(n2)
79. 以下关于堆排序的叙述中正确的是: A. 堆是一个完全二叉排序树 B. 升序排序需要建降序堆 C. 堆的根元素是已经排序就位的元素 D. 建堆过程建立的是一个完全二叉树
51. 已知一棵二叉树的深度为 8(约定空树深度为 0,只有根结点的树 深度为 1),这棵二叉树上最多有多少个结点?
A. 256
B. 255
C. 127
D. 128
52. 以下哪一组叶结点权值所构成的哈夫曼树的深度最大? A. (1, 2, 3, 4, 5, 6) B. (1, 2, 2, 2, 14, 15) C. (3, 5, 6, 7, 9, 10) D. (1, 2, 3, 7, 14, 15)
A. (1,0,3,1)
B. (1,3,0,1)
C. (2,0,3,1)
D. (1,3,0,2)
60. 一棵共有 51 个结点的哈夫曼树,可以表示多少个字符的哈夫曼编 码?
A. 25
B. 26
C. 50
D. 51
61. 在一个由 10 个结点构成的有向图上,最多有多少条弧?
A. 100
B. 90
C. 50
北京化工大学
2016 年攻读硕士学位研究生入学考试
数据结构 试题
注意事项 10. 答案必须写在答题纸上,写在试卷上均不给分。 11. 答题时可不抄题,但必须写清题号。 12. 答题必须用蓝、黑墨水笔或圆珠笔,用红色笔或铅笔均不给
分。
二十二、 单项选择题(每题 2 分,共 90 分,答案写在答题纸上, 写在试卷上不给分)
63. 以下哪一个算法是用来计算带权连通图的最小生成树的?
A. Kruskal
B. Dijkstra
第 29 页 共 35 页
C. Huffman
D. 都不是
64. 已知带权连通图如下,其最小生成树的总权值是多少?
1 26
5
21
0
13
9 19
15
3
10
17 4
2
22 14 8
11
6
6
A. 66 C. 76
87. 在一个含有 n 个顶点的连通图中,其生成树上有多少条边?
A. n-1
B. n
C. n+1
D. 2n
88. 在顺序有序序列{a0~a30}上用折半查找法查找 a5,需要经过几次 比较?
A. 3
B. 4
C. 5
D. 1
89. 以下叙述中正确的是: A. Dijkstra 算法不适合于求解每两点间最短路径 B. 求解每两点间最短路径,Floyd 算法复杂度低于 Dijkstra 算法 C. Prim 算法的复杂度低于 Kruskal 算法
71. 已知目标表中有 15 个元素,用折半查找算法找到指定元素,至少 需要进行多少次比较?
A. 1
B. 2
C. 3
D. 4
72. 以下关于二叉排序树的叙述正确的是: A. 不能删除非叶结点 B. 后序遍历序为有序序列 C. 深度为 O(logn) D. 新结点总是作为叶结点插入到树上
73. 在一棵二叉平衡树上插入一个新的元素后,自底向上调整平衡因 子时,第一个失衡结点的平衡因子为 2,左子结点和右子结点的平 衡因子均为-1,则应使用哪一种调整策略?
58. 以下关于关键路径的叙述正确的是: A. 有向无环 AOV 网上起点到终点的最短路径是关键路径。 B. 关键路径是有向无环 AOE 网上起点到终点的最短路径。 C. 有向无环 AOV 网上起点到终点的最长路径是关键路径。 D. 关键路径是有向无环 AOE 网上起点到终点的最长路径。
59. 已知一个按行优先顺序存储的多维数组,各维长度为(3,7,4,5) , 物理下标从 0 开始,则物理下标为 202 的元素的逻辑下标是:
80. 以下哪一组排序方法都是稳定的排序法? A. 直接交换排序、直接插入排序、归并排序 B. 堆排序、直接交换排序、归并排序 C. 直接插入排序、直接选择排序、快速排序 D. 快速排序、堆排序、归并排序
81. 对序列(8,3,4,7,6,5,9,1,2)进行一趟划分,得到的结果可能 是: A. (2,1,3,4,7,6,5,9,8) B. (2,3,4,8,7,6,5,1,9) C. (3,4,7,8,6,5,9,1,2) D. (2,3,4,7,6,5,1,8,9)
48. 以下关于二叉树的描述中,正确的是: A. 二叉树的度为 2 B. 二叉树是无向树 C. 二叉树的叶结点的度为 0 D. 二叉树有且只有一个根结点
49. 一般单链表中,数据元素将存放在()的结点中。
A. 动态分配
B. 静态分配
C. 顺序分配
D. 临时分配
第 27 页 共 35 页
50. 已知指针 p 指向单链表上的一个结点,指针 q 指向一个新结点, 以下哪个操作可以将 q 指向的新结点插在 p 指向的结点的后面? A. q->next = p->next; p->next = q; B. q->next = p; p = q->next; C. p->next = q; q->next = p->next; D. p->next = q->next; p = q;
第 28 页 共 35 页
57. 已知一棵二叉树的前序遍历序为 mlcajkpideohnbgfq,中序遍 历序为 kjacpledimnhboqfg,则其后序遍历序为: A. mogfqhbnlidecpajk B. kjapcedilnbhqfgom C. mlcajkpideohnbqfq D. kjacpledinhboqfgm
B. 68 D. 72
65. 以下哪一种情况相比较而言不适合应用顺序结构线性表来处理? A. 数据规模不确定 B. 支持随机访问 C. 只在表尾增删数据 D. 支持折半查找
66. 在顺序结构线性表中顺序查找一个指定元素的平均时间复杂度是:
A. O(1)
B. O(logn)
C. O(n)
C. O(n2)
A. L
B. R
C. LR
D. RL
74. 以下关于内排序的叙述中正确的是: A. 直接交换排序法的平均时间复杂度为 O(n2) B. 快速排序法比直接插入排序法要更快 C. 稳定排序法的排序性能更为稳定 D. 直接插入排序的一趟渗透插入之后最小元素就位
75. 在序列基本有序的情况下,以下哪种内排序方法性能最差?
D. 45
62. 将 序列 (8,10,15,4,6,1,12,7,11,16,2,5,3,13,14,9) 依 次插入一棵升序二叉排序树中,从空树开始插入,得到的结果二 叉排序树的前序遍历序为: A. 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 B. 8,4,2,1,3,6,5,7,9,13,11,10,12,15,14,16 C. 8,4,1,2,3,6,5,7,10,9,15,12,11,13,14,16 D. 8,4,2,3,1,6,5,7,9,13,10,11,12,15,14,16
67. 以下关于图的邻接表存储结构的特点的叙述正确的是: A. 计算某个顶点入度很方便 B. 计算某个顶点出度很方便 C. 空间开销与图的稀疏度无关 D. 由一张顶点表和一条弧链构成
68. 已知一棵二叉树上所有的非叶结点都有左子和右子,叶结点共有 100 个,那么这棵二叉树上有多少个结点?
A. 201
第 34 页 共 35 页
二十四、 (15’)请编写算法将指定的二叉链结构二叉树中所有结 点的左右子树交换(左子树变成右子树,右子树变成左子树)。参 考算法代码形式如下: int SwapLeftRight(BiTree T) { ... } 参考数据结构定义如下: typedef struct BiNode { double data; struct BiNode *lchild, *rchild; } BiNode, *BiTree;
53. 以下关于图的叙述,正确的是: A. 无向图的边数等于顶点度数之和。 B. 有向图中的顶点入度之和等于顶点出度之和。 C. 有向图是特殊的无向图。 D. 有向图中的弧在无向图中称为边。
54. 在单链表上顺序查找一个指定元素的最好时间复杂度为:
A. O(1)
B. O(logn)
C. O(n)
D. O(n2)
46. 以下关于栈的操作性质的描述,正确的是: A. 最先进栈的元素最后出栈 B. 最先进栈的元素最先出栈 C. 出栈序列与操作顺序有关 D. 入栈顺序与出栈顺序相反
47. 已知 6 个顶点的有向图,顶点序号从 0~5 的弧集合{<0,1>, <2,3>, <2,5>, <3,4>, <4,2>, <4,0>, <5,0>, <5,3>}, 以下哪一个顶点序列不是该图的深度优先遍历序列? A. 0-1-2-3-4-5 B. 5-3-4-2-0-1 C. 2-5-0-3-4-1 D. 4-2-3-5-0-1