数据结构部分期末复习题

数据结构部分期末复习题
数据结构部分期末复习题

算法与编程题举例

软件方法学部分习题

1.()产生软件危机的原因主要与两个方面的问题有关:

A、软件在计算机中很难识别,存在磁盘中也看不到。

B、软件设计对人的智商要求很高,也要求很高的资金投入。

C、软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。

D、软件很难理解,硬件也很复杂。

2.()可行性研究主要从以下几个方面进行研究:

A、技术可行性,经济可行性,操作可行性。

B、技术可行性,经济可行性,系统可行性。

C、经济可行性,系统可行性,操作可行性。

D、经济可行性,系统可行性,时间可行性。

3.()软件开发瀑布模型中的软件定义时期各个阶段依次是:

A、可行性研究,问题定义,需求分析。

B、问题定义,可行性研究,需求分析。

C、可行性研究,需求分析,问题定义。

D、以上顺序都不对。

4.结构程序设计的基本思想是()。

5. 软件生存周期可以分为几个大的阶段,每个阶段又可以进一步细分成哪些小的阶段?6.什么是软件?

数据结构绪论部分习题

一、选择题

1. 算法的计算量的大小称为计算的()。

A.效率 B. 复杂性 C. 现实性 D. 难度

2. 算法的时间复杂度取决于()

A.问题的规模 B. 待处理数据的初态 C. A和B

3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法

(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性

C. 确定性、有穷性、稳定性

D. 易读性、稳定性、安全性

4.一个算法应该是()。

A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.B和C. 5.从逻辑上可以把数据结构分为()两大类。

A.动态结构、静态结构 B.顺序结构、链式结构

C.线性结构、非线性结构 D.初等结构、构造型结构

二、判断题

1. 数据元素是数据的最小单位。( )

2. 记录是数据处理的最小单位。 ( )

3. 数据的逻辑结构是指数据的各数据项之间的逻辑关系;( )

4.算法的优劣与算法描述语言无关,但与所用计算机有关。( )

5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( )

6.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。( )

7.数据的物理结构是指数据在计算机内的实际存储形式。( )

8. 数据结构的抽象操作的定义与具体实现有关。( )

9. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。( )

10. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( )

11. 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。( )

12. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. ( ) 三简答题

1. 数据元素之间的关系在计算机中有几种表示方法?各有什么特点?

(1)顺序存储方式。数据元素顺序存放,每个存储结点只含一个元素。存储位置反映数据元素间的逻辑关系。存储密度大,但有些操作(如插入、删除)效率较差。

(2)链式存储方式。每个存储结点除包含数据元素信息外还包含一组(至少一个)指针。指针反映数据元素间的逻辑关系。这种方式不要求存储空间连续,便于动态操作(如插入、删除等),但存储空间开销大(用于指针),另外不能折半查找等。

(3)索引存储方式。除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标),兼有静态和动态特性。

(4)散列存储方式。通过散列函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将散列函数的值解释成关键字所在元素的存储地址,这种存储方式称为散列存储。其特点是存取速度快,只能按关键字随机存取,不能顺序存取,也不能折半存取。

线性表部分习题

一选择题

1.下述哪一条是顺序存储结构的优点?()

A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示

2.下面关于线性表的叙述中,错误的是哪一个?()

A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

3.线性表是具有n个()的有限序列(n>0)。

A.表元素 B.字符 C.数据元素 D.数据项 E.信息项

4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表 B.仅有头指针的单循环链表 C.双链表D.仅有尾指针的单循环链表

6. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。

A. O(0)

B. O(1)

C. O(n)

D. O(n2)

7.线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为()A.O(i) B.O(1) C.O(n) D.O(i-1)

8.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。

A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;

C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;

9.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()A.head==NULL B.head→next==NULL C.head→next==head D.head!=NULL

二、判断

1. 链表中的头结点仅起到标识的作用。(×)

2. 顺序存储结构的主要缺点是不利于插入或删除操作。(√)

3.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。(×)

4.对任何数据结构链式存储结构一定优于顺序存储结构。(×)

5. 顺序存储方式只能用于存储线性结构。(×)

6.线性表的特点是每个元素都有一个前驱和一个后继。(×)

7. 取线性表的第i个元素的时间同i的大小有关. (×)

8. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(×)

9. 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。 (√)

三、填空

1.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_顺序_存储结构。

2.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_(n-1)/2 _。

3.在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动_ n-i+1_个元素。

4.在单链表中设置头结点的作用是:主要是使插入和删除等操作统一,在第一个元素之前插入元素和删除第一个结点不必另作判断;另外,不论链表是否为空,链表指针不变。5.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_单链表_和多重链表;而又根据指针的连接方式,链表又可分成(动态)链表和静态链表。

6.链接存储的特点是利用_指针_来表示数据元素之间的逻辑关系。

7.顺序存储结构是通过_物理上相邻表示元素之间的关系的;链式存储结构是通过_指针_表示元素之间的关系的。

8. 已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:

u=p->next; p->next=u->next; free(u);

9. 在单链表L中,指针p所指结点有后继结点的条件是:p->next!=null

10. 以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,

请填空完善之。

void reverse(SqList h)

/* h为附加头结点指针;类型pointer */

{ SqList p,q;

p=h->next;

h->next=NULL;

while((1)_ p!=null _)

{ q=p;

p=p->next;

q->next=h->next;

h->next=(2)__q__; }

栈和队列部分习题

一选择题

1. 对于栈操作数据的原则是()。

A. 先进先出

B. 后进先出

C. 后进后出

D. 不分顺序

2. 在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。

为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。①, ②: A. 空 B. 满 C. 上溢 D. 下溢

③: A. n-1 B. n C. n+1 D. n/2

④: A. 长度 B. 深度 C. 栈顶 D. 栈底

⑤: A. 两个栈的栈顶同时到达栈空间的中心点.

B. 其中一个栈的栈顶到达栈空间的中心点.

C. 两个栈的栈顶在栈空间的某一位置相遇.

D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.

3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。

A. 不确定

B. n-i+1

C. i

D. n-i

4. 某堆栈的输入序列为a, b,c ,d,下面的四个序列中,不可能是它的输出序列的是()。

A. a,c,b,d

B. b, c,d,a

C. c, d,b, a

D. d, c,a,b

5. 依次读入数据元素序列{a,b,c,d,e,f,g}进栈,每进一个元素,机器可要求下一个元素进栈或弹栈,如此进行,则栈空时弹出的元素构成的序列是以下哪些序列?

A.{d ,e,c,f,b,g,a} B. {f,e,g,d,a,c,b}

C. {e,f,d,g,b,c,a}

D. {c,d,b,e,f,a,g}

6. 循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。

A. (rear-front+m)%m

B. rear-front+1

C. rear-front-1

D. rear-front

7. 循环队列存储在数组A[0..m]中,则入队时的操作为()。

A. rear=rear+1

B. rear=(rear+1) mod (m-1)

C. rear=(rear+1) mod m

D. rear=(rear+1)mod(m+1)

8. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )

A. 1和 5

B. 2和4

C. 4和2

D. 5和1

9. 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。

A. (rear+1) MOD n=front

B. rear=front

C.rear+1=front D. (rear-l) MOD n=front

10. 栈和队列的共同点是()。

A. 都是先进先出

B. 都是先进后出

C. 只允许在端点处插入和删除元素

D. 没有共同点

11. 设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个

元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。

A. 6 B. 4 C. 3 D. 2

二判断题

1. 消除递归不一定需要使用栈,此说法(√)

2. 栈是实现过程和函数等子程序所必需的结构。(√)

3. 两个栈共用静态存储空间,对头使用也存在空间溢出问题。(√)

4.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。(√)

5. 即使对不含相同元素的同一输入序列进行两组不同的合法的入栈和出栈组合操作,所得的输出序列也一定相同。(×)

6. 栈与队列是一种特殊操作的线性表。(√)

7. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1. (√)

8. 栈和队列都是限制存取点的线性结构。(√)

9.若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列1,5,4,6,2,3。(×)10.任何一个递归过程都可以转换成非递归过程。(√)

填空题

15. 队列的特点是_先进先出。

16.队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是_先进先出。

17. 已知链队列的头尾指针分别是f和r,则将值x入队的操作序列是_ s=(LinkedList)malloc(sizeof(LNode)); s->data=x;s->next=r->next;r->next=s;r=s;。18.区分循环队列的满与空,只有两种方法,它们是牺牲一个存储单元和设标记。

19. 循环队列的引入,目的是为了克服_假溢出时大量移动数据元素。

数组部分习题

1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A. 13

B. 33

C. 18

D. 40

2. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。

A. BA+141

B. BA+180

C. BA+222

D. BA+225

3. 对稀疏矩阵进行压缩存储目的是()。

A.便于进行矩阵运算 B.便于输入和输出 C.节省存储空间 D.降低运算的时间复杂度

4. 判断:数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。(×)

5. 设有二维数组A[0..9,0..19],其每个元素占两个字节,第一个元素的存储地址为100,若按列优先顺序存储,则元素A[6,6]存储地址为__232_。

6、二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素()的起始地址相同。设每个字符占一个字节。

A. A[8,5]

B. A[3,10]

C. A[5,8]

D. A[0,9]

树部分

1、树的定义及相关术语,二叉树和完全二叉树的性质(填空和选择)

2、试分别画出具有3个结点的树和具有3个结点的二叉树的所有不同形态。

3、若一棵树具有n1个度为1的结点,n2个度为2的结点,……,nm个度为m的结点,则这棵树中的叶子结点有多少个。

4、掌握树、森林和二叉树的转换方法。

5、从概念上讲,树,和二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是什么,并指出树和二叉树的主要区别。

答:树的孩子兄弟链表表示法和二叉树二叉链表表示法,本质是一样的,只是解释不同,也就是说树(树是森林的特例,即森林中只有一棵树的特殊情况)可用二叉树唯一表示,并可使用二叉树的一些算法去解决树中的问题。

树和二叉树的区别有二:一是二叉树的度至多为2,树无此限制;二是二叉树有左右子树之分,即使在只有一个分枝的情况下,也必须指出是左子树还是右子树,树无此限制。

6、二叉树的先序、中序和后序遍历序列。

7、哈夫曼树的生成及哈夫曼编码。

图部分

1、图的定义及相关术语(填空和选择)

2、对一个图进行遍历可以得到不同的遍历序列,导致得到的遍历序列不唯一的因素有哪些?

①开始遍历的顶点不同;

②存储结构不同;

③在邻接表情况下邻接点的顺序不同。

2、给出一个有向图或者无向图的邻接矩阵或者邻接链表,能画出该图,并指出某个结点的度,以及写出其广度和深度优先搜索的遍历序列。

查找部分

1、查找的基本概念

2、线性表的查找(顺序查找、二分(折半)查找、分块查找)的适用范围及查找算法,尤其是顺序和折半查找的算法必须理解。另外了解这些算法的时间复杂度。

3、顺序查找算法(监视哨的使用)和折半查找算法。可能会以程序填空的形式考察大家。

4、哈希查找

关于哈希表生成的例子:对关键字序列(62,30,18,45,21,78,66,32,54,48),现用除留余数法作为哈希函数,请分别利用线性探测再散列和链地址法处理冲突,将其散列到地址空间为0-10的哈希表中,并计算在等概率条件下查找成功的平均查找长度。

答案:

(1)哈希函数为:H(k)=k%p

取不大于哈希表空间单元数11的最大质数作为p的值

所以:H(k)=k%11

一、线性探测再散列方法

(3)线性探测再散列公式:

m d k H H i i )%)((+= (i=1,2,3,…)

其中i d = 1,2,3,… ,m-1

按照线性探测再散列的方法处理冲突生成的哈希表如下:

(4)其平均查找长度:ASL=(1+1+3+1+1+2+1+5+6+2)/10=2.3

二、链地址法答案:

(3)按照哈希函数,为每个哈希地址建立单链表,将哈希地址相同的元素存入同一单链表中,其中单链表的生成采用头插法的方式构成,最终生成的哈希表如下图所示。

(4)ASL=(1+1+2+1+1+2+1+1+2+3)/10=1.5

排序部分

1、直接插入排序、冒泡排序(提前结束循环的那个)、简单选择排序的算法。将会以程序填空的方式来考察同学们对算法的理解。

2、直接插入排序、冒泡排序、简单选择排序和快速排序的稳定性。

3、各种排序算法模拟,举例如下:

已知设待排序的记录共7个,排序码分别为8,3,2,5,9,1,6。

(1) 用直接插入排序。试以排序码序列的变化描述形式说明排序全过程(动态过程)

要求按递减顺序排序。

(2) 用直接选择排序。试以排序码序列的变化描述形式说明排序全过程(动态过程)

要求按递减顺序排序。

(3) 直接插入排序算法和直接选择排序算法的稳定性如何?

答案:

(1) 直接插入排序

初始状态:[8],3,2,5,9,1,6

0 1 2 3 4 5 6 7 8 9 10

第一趟(3)[8,3],2,5,9,1,6

第二趟(2)[8,3,2],5,9,1,6

第三趟(5)[8,5,3,2],9,1,6

第四趟(9)[9,8,5,3,2],1,6

第五趟(1)[9,8,5,3,2,1],6

第六趟(6)[9,8,6,5,3,2,1]

(2)直接选择排序(第六趟后仅剩一个元素,是最小的,直接选择排序结束)

第一趟(9)[9],3,2,5,8,1,6

第二趟(8)[9,8],2,5,3,1,6

第三趟(6)[9,8,6],5,3,1,2

第四趟(5)[9,8,6,5],3,1,2

第五趟(3)[9,8,6,5,3],1,2

第六趟(2)[9,8,6,5,3,2],1

(3)直接插入排序是稳定排序,直接选择排序是不稳定排序。

数据结构考试试题及答案

数据结构 一、单选题 1. 计算机算法指的是(b )。 A.程序B.问题求解步骤的描述C.调度方法D.排序方法 2. 以下数据结构中,(a )个是非线性数据结构。 A.树B.字符串C.队D.栈 3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。 A.p->next=s;s->next=p->next B.s->next=p->next; p->next=s C.p->next=s;p->next=s->next D.p->next=s->next; p->next=s 5. n个顶点的有向图中,含有向边的数目最多为( d ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d ) A.rear=rear+1 B.rear=(rear+1)mod(m-1) C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1) 7. 字符串?ababaabab?的next函数为(d ) A.011232232 B.012341234 C.011122334 D. 011234234 8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定 9. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当以列为主序存放时,元素A[5,8]的首地址为( b )。A.BA+141 B.BA+180 C.BA+222 D.BA+225 10. n个顶点的带权无向连通图的最小生成树包含(b )个顶点 A.n-1 B.n C.n/2 D.n+1 11.有关二叉树的下列说法正确的是( b ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 12.关键路径是AOE网中( a )。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长回路 D.最短路径(从源点到汇点的所有路径中,经过弧的数目最多的路径) 13.若查找每个记录的概率相等,则在具有n个记录的连续文件中采用顺序查找查找一个记录,其平均查找长度ASL为(c)。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 14.就平均性能而言,目前最好的内部排序方法是(d ) A.冒泡排序B.希尔排序C.堆排序D.快速排序 15.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(d )A.head(tail(LS)) B.tail (head (LS) C.head(tail(head(tail(LS)))) D.head(tail(tail (head (LS)))) 17.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( a ) A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n)

数据结构(c语言版)期末考试复习试题

《数据结构与算法》(c语言版)期末考复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位

B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i

《数据结构》期末考试试题及答案

数据结构》期末考试试题及答案 ( 2003-2004 学年第 2 学期 ) 单项选择题 1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C 7.图的 Depth-First Search (DFS ) 遍历思想实际上是二叉树( 法的推广。 (A )、先序 ( B )、中序 (C )、后序 (D )、层序 8.在下列链队列 Q 中,元素 a 出队的操作序列为( p=Q.front->next; p->next= Q.front->next; p=Q.front->next; Q.front->next=p->next; p=Q.rear->next; p->next= Q.rear->next; p=Q->next; Q->next=p->next; 9. Huffman 树的带权路径长度 WPL 等于( c ( A )、除根结点之外的所有结点权值之和1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为 ( c )。 (A ) 、正确性 (B ). 可行性 (C ). 健壮性 2.设 S 为 C 语言的语句 ,计算机执行下面算法时, for (i=n-1 ; i>=0 ; i--) for (j=0 ;j

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1 ?在数据结构中,从逻辑上可以把数据结构分为 C 。 A. 动态结构和静态结构B?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2?数据结构在计算机内存中的表示是指 A ° A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储 D.物理 4 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C ° A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5. 在决定选取何种存储结构时,一般不考虑 A ° A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6. 以下说法正确的是D ° A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

数据结构期末复习题

习题一绪论 1. AB 2. BD 3. C 4. AB 5. CA 6. CB 7. B 8. D 9. B 10. B .1.1 单项选择题 1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。 ①A.操作对象B.计算方法C.逻辑存储D.数据映象 ②A.结构B.关系C.运算D.算法 2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。 ①A.算法B.数据元素C.数据操作D.逻辑结构 ②A.操作B.映象C.存储D.关系 3. 在数据结构中,从逻辑上可以把数据结构分成①。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 4. 线性表的顺序存储结构是一种①的存储结构,线性表的链式存储结构是一种②的存储结构。 A.随机存取B.顺序存取C.索引存取D.散列存取 5. 算法分析的目的是①,算法分析的两个主要方面是②。 ① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 ② A.空间复杂性和时间复杂性 B. 正确性和简明性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 6. 计算机算法指的是①,它必具备输入、输出和②等五个特性。 ①A. 计算方法 B. 排序方法 C. 解决问题的有限运算序列 D. 调度方法 ②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性 7. 线性表的逻辑顺序与存储顺序总是一致的,这种说法①。 A. 正确 B.不正确 8. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址①。 A. 必须是连续的 B. 部分地址必须是连续的 C. 一定是不连续的 D. 连续或不连续都可以 9. 在以下的叙述中,正确的是①。

数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题 一、单选题(每小题2分,共12分) 1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。 A. HL=ps p一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p=HL; D. p一>next=HL一>next;HL一>next=p; 2.n个顶点的强连通图中至少含有( )。 A.n—l条有向边 B.n条有向边 C.n(n—1)/2条有向边 D.n(n一1)条有向边 3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A.O(1) B.O(n) C.O(1Ogzn) D.O(n2) 4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。 A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。 A.整形 B.引用型 C.指针型 D.常值引用型· 6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。 A.O(n) B.O(1) C.O(n2) D.O(10g2n) 二、填空题(每空1分,共28分) 1.数据的存储结构被分为——、——、——和——四种。 2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。 3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。 4.在一棵高度为h的3叉树中,最多含有——结点。 5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。 7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。 8.表示图的三种存储结构为——、——和———。 9.对用邻接矩阵表示的具有n个顶点和e条边的图进行任一种遍历时,其时间复杂度为——,对用邻接表表示的图进行任一种遍历时,其时间复杂度为——。 10.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为——和——· 11.假定对长度n=144的线性表进行索引顺序查找,并假定每个子表的长度均

《数据结构》期末复习题_15021457072916549

中国石油大学(北京)远程教育学院期末复习题 一、选择题(本大题共15小题,每小题2分,共30分) 1.以下与数据的存储结构无关的术语是() A、循环队列 B、链表 C、哈希表 D、栈 2.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是() A、110 B、108 C、100 D、120 3.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是() A、head= =NULL B、head–>next= =NULL C、head–>next= =head D、head!=NULL 4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是() A、2,4,3,1,5,6 B、3,2,4,1,6,5 C、4,3,2,1,5,6 D、2,3,5,1,6,4 5.下列关键字序列中,构成小根堆的是() A、{12,21,49,33,81,56,69,41} B、{81,69,56,49,41,33,21,12} C、{81,49,69,41,21,56,12,33} D、{12,21,49,33,81,41,56,69} 6.下列数据结构中,不属于二叉树的是() A、B树 B、AVL树 C、二叉排序树 D、哈夫曼树 7.用顺序存储的方法来存储一棵二叉树,存放在一维数组A[1..N]中,若结点A[i]有右孩子,则其右孩 子是()。 A、A[2i] B、A[2i-1] C、A[2i+1] D、A[i/2] 8.设树T的高度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中叶子数为() A、 5 B、 6 C、7 D、 8 9.有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高 度最小,则应选择下面哪个序列输入() A、45,24,53,12,37,96,30 B、37,24,12,30,53,45,96 C、12,24,30,37,45,53,96 D、30,24,12,37,45,96,53 1

数据结构期末考试题及答案

数据结构期末考试题及答案 、选择题 1.在数据结构中, 从逻辑上能够把数据结构分为 A. 动态结构和静态结构 B .紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2. 数据结构在计算机内存中的表示是指 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系 3. 在数据结构中, 与所使用的计算机无关的是数据的 结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 4. 在存储数据时, 一般不但要存储各数据元素的值, 而且还 要存储C A. 数据的处理方法 B. 数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储结构时般不考虑A 。 A. 各结点的值如何 B. 结点个数的多少 C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 A. 数据项是数据的基本单位

B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据能够有相同的逻辑结构7.算法分析的目的是C , 算法分析的两个主要方面是A 。 (1) A.找出数据结构的合理性 和输出的关系 C. 分析算法的效率以求改进 档性 ( 2) A .空间复杂度和时间复杂度 C. 可读性和文档性 性 8. 下面程序段的时间复杂度是 s = 0; for( I = 0; i v n; i + + ) for( j = 0; j v n; j ++ ) s +二B[i][j]; sum = s ; 9. 下面程序段的时间复杂度是 for( i = 0; i v n; i + + ) for( j = 0; j v m; j ++ ) B .研究算法中的输入 C .分析算法的易读性和文 B .正确性和简明性D .数据复杂性和程序复杂 O( n2) 。 O( n*m) 。

数据结构期末考试试题及答案

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

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

数据结构与算法分析-六套期末复习题(含答案)

数据结构与算法分析-六套期末复习题(含答案)

试题一 一、单项选择题(每小题2分,共20分) (1)以下数据结构中哪一个是线性结构?() A)有向图B)队列C)线索二叉树D)B树 (2)在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下()语句序列。 A)p=q; p->next=q; B)p->next=q; q->next=p; C)p->next=q->next; p=q; D)q->next=p->next; p->next=q; (3)()不是队列的基本运算。 A)在队列第i个元素之后插入一个元素 B)从队头删除一个元素 C)判断一个队列是否为空D)读取队头元素的值 (4)字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成()个不同的字符串。 A)14 B)5 C)6 D)8 (5)由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为()。 A)11 B)35 C)19 D)53 以下6-8题基于下图: (6)该二叉树结点的前序遍历的序列为()。 A)E、G、F、A、C、D、B B)E、A、G、C、F、B、D C)E、A、C、B、D、G、F D)E、G、A、C、D、F、B (7)该二叉树结点的中序遍历的序列为()。 A)A、B、C、D、E、G、F B)E、A、G、C、F、B、D C)E、A、C、B、D、G、F D)B、D、C、A、F、G、E

(8)该二叉树的按层遍历的序列为()。 A)E、G、F、A、C、D、B B)E、A、C、B、D、G、F C)E、A、G、C、F、B、D D)E、G、A、C、D、F、B (9)下面关于图的存储的叙述中正确的是()。 A)用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B)用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关 C)用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关 D)用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 (10)设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?() A)a,g,h,m,n,p,q,x,z B)a,g,m,h,q,n,p,x,z C)g,m,q,a,n,p,x,h,z D)h,g,m,p,a,n,q,x,z 二、(本题8分) 对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。 三、(本题8分) 一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。 先序序列: B F ICEH G 中序序列:D KFIA EJC 后序序列:K FBHJ G A 四、(每小题2分,共8分) 设有序列:w={23,24,27,80,28},试给出: (1)二叉排序树; (2)哈夫曼树; (3)平衡二叉树;

数据结构考试题

一、选择题(共15题,每题2分,共计30分) 1、单链表的一个存储结点包含( C ) A.指针域和链域 B.指针域或链域 C.数据域或指针域 D.数据域和链域 2、采用线性链表表示一个向量时,要求占用的存储空间地址( D )。 A、必须是连续的 B、部分地址必须是连续的 C、一定是不连续的 D、可连续可不连续 3、当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为( B )。 A. n-2 B. n-1 C. n D. n+1 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。 A、s→next = p→next; p→next = s; B、p→next = s; s→next k = q; C、p→next = s→next; s→next = p; D、q→next = s; s→next = p; 5、在数组A中,每一个数组元素A[i, j] 占用3个存储字,行下标i从1到8,列下标j 从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。 A、 80 B、 100 C、 240 D、 270 6、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A、栈 B、队列 C、循环队列 D、优先队列 7、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。 A、4, 3, 2, 1 B、2, 4, 3, 1 C、1, 2, 3, 4 D、3, 2, 1, 4 8.下述各类表中可以随机访问的是(D )。 A. 单向链表 B. 双向链表 C.单向循环链表 D.顺序表 9.在一个长度为n的顺序表中为了删除第5个元素,从前到后依次移动了15个元素。则原顺序表的长度为( B )。 A. 21 B. 20 C. 19 D. 25 10.元素1,3,5按顺序依次进栈,则该栈的不可能的输出序列是( B )。 A. 5 3 1 B. 5 1 3 C. 3 1 5 D. 1 5 3 11.一个队列的入队序列是5,6,7,8,则队列的输出序列是( A )。 A. 5 6 7 8 B. 8 7 6 5 C. 7 8 6 5 D.可能有多种情况 12.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句(C )。 A.p=q->next B.p->next=q C.p->next=q->next D.q->next=NULL 13.设一棵哈夫曼树共有n个非叶结点,则该树一共有( B )个结点。 A. 2*n-1 B. 2*n +1 C. 2*n D. 2*(n-1) 14.对如图1所示二叉树进行中序遍历,结果是( A )。 A. dfebagc B. defbagc C. defbacg D.dbaefcg

2017数据结构期末考试试题及答案

2017《数据结构》期末考试试题及答案 《数据结构》期末考试试题及答案 1 ................................................................. 2..试题 1 答案............................................................ 7..《数据结构》期末考试试题及答案 2 ................................................................. 9..试题 2 答案........................................................................ 1.. 4. 《数据结构》期末考试试题及答案 3 ............................................................... 1..6试题 3 答案........................................................................ 2.. 1.

数据结构》期末考试试题及答案 1 单选题(每题 2 分,共 20 分) 1. 栈和队列的共同特点是 ( )。 A. 只允许在端点处插入和删除元素 B. 都是先进后出 C. 都是先进先出 D. 没有共同点 2. 用链接方式存储的队列,在进行插入运算时 ( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D .头、尾指针可能都要修改 3. 以下数据结构中哪一个是非线性结构? ( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(io ), A[2][2]存放 若有18个元素的有序表存放在一维数组 A[19]中,第一个元素放A[1]中, 现进行二分查找,则查找 A [3]的比较序列的下标依次为( A. 1 , 2, 3 B. 9, 5, 2, 3 C. 9, 5, 3 D. 9, 4, 2, 3 8. 对n 个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. O (1) B. O (n ) C. O ( 1 og 2n ) D. O (n2) 9. 对于线性表( 7, 34, 55, 25, 64, 46, 20, 10)进行散列存储时,若选 用 H (K )=K %9 作为散列函数,则散列地址为 1 的元素有( )个, 位置在 676(10),每个元素占一个空间, 表示用 10 进制表示。 问 A[3][3] (10)存放在什么位置?脚注 (10) 5. A .688 B .678 C . 692 D . 696 树最适合用来表示 ( )。 A.有序数据元素 B.无序数据元素 6. C.元素之间具有分支层次关系的数据 D .元素之间无联系的数据 二叉树的第 k 层的结点数最多为 ( ). A .2-1 B.2K+1 C.2K-1 D. 2k-1 7.

(完整word版)数据结构期末复习题

数据结构期末复习题 一、选择题 1.以下说法中不正确的是(D)。 A.数据元素是数据的基本单位 B.数据项是不可分割的最小可标识单位 C.数据可由若干个数据元素构成 D.数据项可由若干个数据元素构成 2.计算机所处理的数据一般具备某种内在联系,这是指(B)。 A.数据和数据之间存在某种关系 B.元素和元素之间存在某种关系 C.元素内部具有某种结构 D.数据项和数据项之间存在某种关系 3.在数据结构中,与所使用的计算机无关的是数据的(A)结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 4.数据的逻辑结构可以分为(C)两类。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 5.数据的逻辑结构是指(A)关系的整体。 A.数据元素之间逻辑 B.数据项之间逻辑 C.数据类型之间 D.存储结构之间 6.以下数据结构中(D)属非线性结构。 A.栈 B.串 C.队列 D.平衡二叉树 7.以下属于逻辑结构的是(C)。 A.顺序表 B.哈希表 C.有序表 D.单链表 8.以下不属于存储结构的是(A)。 A.栈 B.线索二叉树 C.哈希表 D.双链表 9.在计算机中存储数据时,通常不仅要存储个数据元素的值,而且还要存储(C)。 A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 10.数据结构在计算机内存中的表示是指(A)。 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系 11.在数据的存储结构中,一个结点通常存储一个(B)。 A.数据项 B.数据元素 C.数据结构 D.数据类型 12.在决定选择何种类型的存储结构时,一般不多考虑(A)。

数据结构期末考试试题A卷(完成,不知对不对)

第 1 页,共 11 页 任课教师签名: 命题教师签名: 系主任签名: 主管院长签名: 湛江师范学院2007年-2008学年度第1学期 期末考试试题A 卷 (考试时间:120分钟) 考试科目: 数据结构 请将所有答案填写在答题卡上,交卷时请将所有试卷上交 一、单选题(每小题2分,共40分) 1.下列算法的时间复杂度是( B )。 for ( i=0; inext==L C L->next==p D p->next==NULL 4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后, 栈顶元素的值是( B )。 A A B B C C D D 5.经过下列栈的运算后GetTop(S)的值是( A )。 InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 2

6.栈的特点是(B )。 A 先进先出 B 后进先出 C 后进 后出 D 不进不出 7.经过下列运算后GetHead(Q)的值是( A ) InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); A a B b C 1 D 2 8.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为( C )。 A 1000 B 1010 C 1008 D 1020 9.二叉树第i层上最多有( C )个结点。 A 2i B 2i-1 C 2i-1 D i2 10.满二叉树( A )二叉树。 A 一定是完全 B 不一定是完全 C 不是 D 不是完全 11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while ( p->rchild!=null ) p=p->rchild,则( A )。 A p指向二叉树的最右下方的结点 B p指向二叉树的 最左下方的结点 C p仍指向根结点 D p为null 12.在具有n个结点的完全二叉树中,结点i(2i

数据结构期末考试试题及答案

贵州大学理学院数学系信息与计算科学专业 《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 一、单项选择题 1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。 (A)、正确性(B). 可行性(C). 健壮性(D). 输入性 2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。 for(i=n-1;i>=0;i--) for(j=0;jnext; p->next= Q.rear->next; (D)、p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于() (A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和 (C)、各叶子结点的带权路径长度之和(D)、根结点的值 10.线索二叉链表是利用()域存储后继结点的地址。 (A)、lchild (B)、data (C)、rchild (D)、root 二、填空题

数据结构期末复习题答案

1.以下与数据的存储结构无关的术语是(c ) C、哈希表 2.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(B ) B、108 3.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是(C) C、head–>next= =head 4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是( D ) D、2,3,5,1,6,4 5.下列关键字序列中,构成小根堆的是( A ) A、{12,21,49,33,81,56,69,41} 6.下列数据结构中,不属于二叉树的是( A ) A、B树 7.用顺序存储的方法来存储一棵二叉树,存放在一维数组A[1..N]中,若结点A[i]有右孩子,则其右孩子是( C )。 C、A[2i+1] 8.设树T的高度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中叶子数为( D ) D、 8 9.有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,则应选择下 面哪个序列输入( B ) B、37,24,12,30,53,45,96 10.对下面有向图给出了四种可能的拓扑序列,其中错误的是( C ) C、5,1,6,3,4,2 11.m阶B-树中所有非终端(除根之外)结点中的关键字个数必须大于或等于( B ) B、[m/2]-1 12.散列文件也称为( C ) B 、索引文件 13.数据结构是(D ) D、相互之间存在一种或多种特定关系的数据元素的集合 14.从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是(C ) C、线性结构和树型结构 15.设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p→llink和p→rlink表示,则同样表示

数据结构期末考试试题含复习资料

2005年-2006学年第二学期“数据结构”考试试题(A)姓名学号(序号)_答案隐藏班号 要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清晰姓名、班号和学号),需写清晰题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1.数据的运算a 。 A.效率与采用何种存储结构有关 B.是根据存储结构来定义的 C.有算术运算和关系运算两大类 D.必须用程序设计语言来描述 答:A。 2.链表不具备的特点是 a 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 答:参见本节要点3。本题答案为:A。 3.在顺序表中删除一个元素的时间复杂度为 c 。 A.O(1) B.O(log2n) C.O(n) D.O(n2) 答:C。 4.以下线性表的存储结构中具有随机存取功能的是d 。 A.不带头结点的单链表 B.带头结点的单链表 C.循环双链表 D.顺序表 解D。

5.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c 。A.edcba B.decba C.dceab D.abcde 答:C。 6.循环队列qu的队空条件是 d 。 A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSize B. (qu.rear+1)%MaxSize==qu.front+1 C.(qu.rear+1)%MaxSize==qu.front D.qu.rear==qu.front 答:D。 7.两个串相等必有串长度相等且 b 。 A.串的各位置字符任意 B.串中各位置字符均对应相等 C.两个串含有相同的字符 D.两个所含字符任意 答:B。 8.用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是 c 。 A.94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90,80 C.21,32,46,40,80,69,90,94 D.90,69,80,46,21,32,94,40 答:C。 9.以下序列不是堆(大根或小根)的是 d 。 A.{100,85,98,77,80,60,82,40,20,10,66} B.{100,98,85,82,80,77,66,60,40,20,10} C.{10,20,40,60,66,77,80,82,85,98,100} D.{100,85,40,77,80,60,66,98,82,10,20}

相关文档
最新文档