北京工业大学 北工大 1998数据结构 考研真题及答案解析

合集下载

目前最完整的数据结构1800题包括完整答案 第九章 集合

目前最完整的数据结构1800题包括完整答案 第九章 集合

第九章集合一、选择题1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。

【北京航空航天大学 2000 一、8 (2分)】A. (n-1)/2 B. n/2 C. (n+1)/2 D. n2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) 【南京理工大学1998一、7(2分)】A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/23.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为((1)),二分法查找只适用于查找顺序存储的有序表,平均比较次数为((2))。

在此假定N为线性表中结点数,且每次查找都是成功的。

【长沙铁道学院 1997 四、3 (4分)】A.N+1B.2log2NC.logND.N/2E.Nlog2NF.N24. 下面关于二分查找的叙述正确的是 ( ) 【南京理工大学 1996 一、3 (2分)】A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储5. 对线性表进行二分查找时,要求线性表必须()【燕山大学 2001 一、5 (2分)】A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序6.适用于折半查找的表的存储方式及元素排列要求为( ) 【南京理工大学 1997 一、6 (2分)】A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序7. 用二分(对半)查找表的元素的速度比用顺序法( ) 【南京理工大学 1998 一、11 (2分)】A.必然快 B. 必然慢 C. 相等 D. 不能确定8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减【南京理工大学 1997 一、7 (2分)】9. 具有12个关键字的有序表,折半查找的平均查找长度()【中山大学 1998 二、10 (2分)】A. 3.1B. 4C. 2.5D. 510. 折半查找的时间复杂性为()【中山大学 1999 一、15】A. O(n2)B. O(n)C. O(nlog n)D. O(log n)11.当采用分快查找时,数据的组织方式为 ( ) 【南京理工大学 1996 一、7 (2分)】A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同12. 二叉查找树的查找效率与二叉树的( (1))有关, 在 ((2))时其查找效率最低【武汉交通科技大学1996 一、2(4分)】(1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置(2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。

北京工业大学十套数据结构试题及答案

北京工业大学十套数据结构试题及答案

已知一个图的顶点集 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年数据结构 考研真题及答案解析

北京工业大学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行。

数据结构考研真题及其答案

数据结构考研真题及其答案

一、选择题1. 算法的计算量的大小称为计算的( B )。

【北京邮电大学2000 二、3 (20/8 分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于( C )【中科院计算所1998 二、1 (2 分)】A.问题的规模 B. 待处理数据的初态 C. A 和B3. 计算机算法指的是(C),它必须具备(B)这三个特性。

(1) A .计算方法 B. 排序方法 C. 解决问题的步骤序列D. 调度方法(2) A .可执行性、可移植性、可扩充性 B . 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学1999 一、1(2 分)【武汉交通科技大学1996 一、1(4 分)】4.一个算法应该是( B )。

【中山大学1998 二、1(2 分)】A .程序B .问题求解步骤的描述C .要满足五个基本特性D.A 和C.5. 下面关于算法说法错误的是( D )【南京理工大学2000 一、1(1.5 分)】A.算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是( C )【南京理工大学2000 一、2 (1.5 分)】(1 )算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n 下,复杂度O(n) 的算法在时间上总是优于复杂度nO(2 )的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低 4A .(1) B.(1),(2) C. (1),(4) D.(3)7.从逻辑上可以把数据结构分为( C )两大类。

【武汉交通科技大学1996 一、4(2 分)】A.动态结构、静态结构 B .顺序结构、链式结构C.线性结构、非线性结构 D .初等结构、构造型结构8.以下与数据的存储结构无关的术语是( D )【。

北工大计算机考研真题答案

北工大计算机考研真题答案

delete(Dt,A) 初始条件:字典 Dt 存在,A 是字典元素 操作结果:删除数据 A
find(Dt,A) 初始条件:字典 Dt 存在,A 是字典元素 操作结果:查找字典数据,返回位置信息
(2)链式存储结构,方便更新
第 5 页 共 16 页
友情提供,请勿传播,谢谢合作--------picco
2006 真题答案
一.选择题 ADCBD 二.填空题 1.O(nu+tu) 三.解答题
2.A GOOD STUDENT
3.7、11、13、14
4.直接插入排序
4(1)35%13=9, h1(35)=35%11+1=13 H2(35)=(9+2*3)%11=4 四.抽象数据类型设计题
ADT dictionary{ 数据对象 D:D 是具有相同特性的数据元素的集合,每个元素由两部分组成,分别为关键码和属
2空间上直接插入排序不需额外的空间快速排序需要递归工作栈所以直接插入排序的空间性能更好时间上序列长度较小因为两个子序列分别有序直接插入排序比较次数较少但快速排序在序列基本有序时效率反而下降所以直接插入排序时间性能更好四
友情提供,请勿传播,谢谢合作--------picco
说明:此答案是我考研时所做,先整理出来,正确率足够使用,但不保证所有题都正确,请按自己的 情况酌情处理。另外我没有公开此档案,希望拿到的同学不要传播(我直接的朋友可以传给自己的真实同 学,但请间接朋友不要继续往下传),不要宣传从我这里得到,毕竟这样的独家资料对你们也有好处。这 份资料价值很高,我整理也很费劲,所以请尊重我的劳动。真题可以从王道论坛下载,从 1995 年的开始, 但我建议从 2003 年开始看,因为以前的题太旧了,跟现在的考试风格差别很大,所以我的答案也是从 03 年开始的。

北工大回忆版2013

北工大回忆版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分总体来说不太难。

北京工业大学考研真题 数据结构1998

北京工业大学考研真题 数据结构1998

北京工业大学1998年硕士研究生入学考试试题考试科目:数据结构一、试写出在双向链表da中的插人操作算法,算法中插入位置的获取可直接引人getnodep(da,i),其中参数da为双向链表,i是要插人的位置,要求算法中含有双向链表da的结点结构描述。

(6分)二.已知二叉树BT各结点的先序、中序遍历序列分别为ABCDGF和CBAEDF,试画出该二叉树。

(6分)三.设哈希表a、b分别用向量a[0..9],b[0..9]表示,哈希函数均为H(key)=key MOD 7,处理冲突使用开放定址法,Hi=[H(key)+Di]MOD 10,在哈希表a中Di用线性探测再散列法,在哈希表b中Di用二次探测再散列法,试将关键字{19,24, 10,17,15, 38,18,40}分别填入哈希表a,b 中,并分别计算出它们的平均查找长度ASL。

(8分)四、设有下列递归算法:(10分)FUNCTINON VOL(n:integer):integer;V AR x :integer:BEGINIF n=0 THEN vol:=0ELSE BEGINREAD(x);vol:=vol(n-1)+xEND;END.如该函数被调用时,参数n值为4,读人的x值依次为5,3,4,2,函数调用结束时返回值voL 为多少?用图示描述函数执行过程中,递归工作栈的变化过程五、已知下列字符A、B、C、D,E、F,G的权值分别为3、12、7、4、2、8,11,试填写出其对应哈夫曼树HT的存储结构的初态和终态。

(l0分)六.试对下列给出的有向图回答问题:(15分)l·画出该有向图的十字链表存储结构,其中:顶点结点结构:data:结点数据域:tailvex,tlink:指向该顶点为弧头、弧尾的第一条弧的指针。

弧结点结构tailvex,headvex:分别为弧头和弧尾在图中的序号;hlink,tlink:指向弧头相同和弧尾相同的下一条弧的指针;weight::弧上的权值。

算法与数据结构考研试题精析(第二版)第10章 排序

算法与数据结构考研试题精析(第二版)第10章  排序

第10章排序一、选择题1.某内排序方法的稳定性是指( )。

【南京理工大学 1997 一、10(2分)】A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法 D.以上都不对2.下面给出的四种排序法中( )排序法是不稳定性排序法。

【北京航空航天大学 1999 一、10 (2分)】A. 插入B. 冒泡C. 二路归并D. 堆积3.下列排序算法中,其中()是稳定的。

【福州大学 1998 一、3 (2分)】A. 堆排序,冒泡排序B. 快速排序,堆排序C. 直接选择排序,归并排序D. 归并排序,冒泡排序4.稳定的排序方法是()【北方交通大学 2000 二、3(2分)】A.直接插入排序和快速排序 B.折半插入排序和起泡排序C.简单选择排序和四路归并排序 D.树形选择排序和shell排序5.下列排序方法中,哪一个是稳定的排序方法?()【北方交通大学 2001 一、8(2分)】A.直接选择排序 B.二分法插入排序 C.希尔排序 D.快速排序6.若要求尽可能快地对序列进行稳定的排序,则应选(A.快速排序 B.归并排序 C.冒泡排序)。

【北京邮电大学 2001 一、5(2分)】7.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

()就是不稳定的排序方法。

【清华大学 1998 一、3 (2分)】A.起泡排序 B.归并排序 C.Shell排序 D.直接插入排序 E.简单选择排序8.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。

A.直接插入 B.直接选择 C.堆 D.快速 E.基数【中科院计算所 2000 一、5(2分)】9.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A. 快速排序B. 堆排序C. 归并排序D. 直接插入排序【中国科技大学 1998 二、4(2分)】【中科院计算所 1998 二、4(2分)】10.下面的排序算法中,不稳定的是()【北京工业大学 1999 一、2 (2分)】A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京工业大学1998年硕士研究生入学考试试题
考试科目:数据结构
一、试写出在双向链表da中的插人操作算法,算法中插入位置的获取可直接引人getnodep(da,i),其中参数da为双向链表,i是要插人的位置,要求算法中含有双向链表da的结点结构描述。

(6分)
二.已知二叉树BT各结点的先序、中序遍历序列分别为ABCDGF和CBAEDF,试画出该二叉树。

(6分)
三.设哈希表a、b分别用向量a[0..9],b[0..9]表示,哈希函数均为H(key)=key MOD 7,处理冲突使用开放定址法,Hi=[H(key)+Di]MOD 10,在哈希表a中Di用线性探测再散列法,在哈希表b中Di用二次探测再散列法,试将关键字{19,24, 10,17,15, 38,18,40}分别填入哈希表a,b 中,并分别计算出它们的平均查找长度ASL。

(8分)
四、设有下列递归算法:(10分)
FUNCTINON VOL(n:integer):integer;
V AR x :integer:
BEGIN
IF n=0 THEN vol:=0
ELSE BEGIN
READ(x);
vol:=vol(n-1)+x
END;
END.
如该函数被调用时,参数n值为4,读人的x值依次为5,3,4,2,函数调用结束时返回值voL 为多少?用图示描述函数执行过程中,递归工作栈的变化过程
五、已知下列字符A、B、C、D,E、F,G的权值分别为3、12、7、4、2、8,11,试填写出
其对应哈夫曼树HT的存储结构的初态和终态。

(l0分)
六.试对下列给出的有向图回答问题:(15分)
l·画出该有向图的十字链表存储结构,其中:顶点结点结构:
data:结点数据域:
tailvex,tlink:指向该顶点为弧头、弧尾的第一条弧的指针。

弧结点结构
tailvex,headvex:分别为弧头和弧尾在图中的序号;
hlink,tlink:指向弧头相同和弧尾相同的下一条弧的指针;
weight::弧上的权值。

2·判断该有向图是否含有强连通分量,若有请将它们画出来。

3.试给出顶点C到其他各顶点的最短路径。

七、计算下列给出AOE网中各顶点所表示的事件发生时间Ve(j),Vl(j)和各边所表示活动的开始时间e(i),l(i),并找出其关键路径。

(10分)
其中:a1=2 a6=4
a2=3 a7=6
a3=3 a8=2
a4=5 a9=3
a5=9
八、二路插人排序是将待排关键字序列r[1..n]中关键字分二路分别按序插入到辅助向量d[1..n]前半部和后半部(注:向量d可视为循环表),其原则为,先将r[l]赋给d[1],再从r[2] 记录开始分二路插入。

编写实现二路插入转序算法。

(10分)
九、设某二叉树结点结构为:
TYPE bitreptr=↑b nodetp;
bnodetp=RECORD
data:inrteger;
lchild,rchild:bitreptr
END;
试编写算法,计算每层中结点data域数值大于50的结点个数,并输出这些结点的data域的数值和序号。

(10分)
十、试编写建立广义表存储结构的算法,要求在输入广义表的同时实现判断、建立。

设广义表
按如下形式输入(a1,a2,a3…an) n>=0其中ai为单字母表示的原子或为广义表,n=0时为只含空格字符的空表。

(15分)
(注:算法可用类pascal 或类c书写)。

相关文档
最新文档