数据结构复习题1(课件0907)
(完整版)数据结构复习题(附答案).doc
![(完整版)数据结构复习题(附答案).doc](https://img.taocdn.com/s3/m/92eb83d1a45177232e60a27c.png)
一、算法(每 15 分,共 60 分)答要求:①用自然言明所采用算法的思想;② 出每个算法所需的数据构定,并做必要明;③写出的算法程序,并做必要的注。
1、有一个点的表,每个点包括两个域,一个是整型域 info ,另一个是指向下一个点的指域next 。
假表已建立,算法除表中所有重复出的点,使得 info 域相等的点只保留一个。
3、瑟夫(Josephus)是指号1、 2、⋯, n 的 n( n>0)个人按方向坐成一圈,从第s 个人开始按方向数,数到第m 个人出列,然后从出列的下一个人重新开始数,数到第m 的人又出列,⋯,如此重复直到所有的人全部出列止。
要求采用循表构一个算法,模此程。
4、程表的就地逆置。
23.在数A[1..n]中有n个数据,建立一个有点的循表,指h,要求中数据从小到大排列,重复的数据在中只保存一个.5、一个尽可能的高效算法出表的倒数第K 个元素。
3、假以I 和 O 分表示入和出操作。
的初和均空,入和出的操作序列可表示由I 和 O 成的序列,称可以操作的序列合法序列,否称非法序列。
(15 分)( 1)下面所示的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO( 2)通( 1)的分析,写出一个算法,判定所的操作序列是否合法。
若合法,返回true,否返回false(假定被判定的操作序列已存入一数中)。
5、从入一整数的序列: a1, a2, a3,⋯, an, 写算法:用构存入的整数,当 ai ≠-1 ,将 ai ;当 ai=-1 ,出整数并出。
算法异常情况(入等)出相的信息。
有一个背包可以放入的物品重量S,有 n 件物品,重量分W1, W2, ... ,W n。
能否从 n 件物品中若干件放入背包,使得放入的重量之和正好是S。
布函数 Knap(S,n) 表示背包的解, W i(i=1,2,... ,n) 均正整数,并已序存地在数 W中。
数据结构复习题课件.doc
![数据结构复习题课件.doc](https://img.taocdn.com/s3/m/a4b7842da8956bec0975e3bb.png)
一、选择题1.以下数据结构中,( D )是线性结构。
A.图 B. 二叉树 C. 树 D. 串2.线性表是具有n 个(C)的有限序列。
A.表元素 B .字符 C .数据元素 D .数据项 E .信息项3.线性表采用链接存储时,其地址( D )。
A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续与否均可以4.一个队列的入队顺序是1,2,3,4,则队列的输出顺序是( B )。
A. 4321B. 1234C. 1432D. 32415.假设以数组A[m] 存放循环队列的元素, 其头尾指针分别为front 和rear ,则当前队列中的元素个数为( A )。
A.(rear-front+m)%m B .rear-front+1C.(front-rear+m)%m D .(rear-front)%m6.在一个无向图中,所有顶点的度数之和等于所有边数的(D)倍。
A.1/2 B .1 C .4 D .27.串的长度是指( B )A.串中所含不同字母的个数 B .串中所含字符的个数C.串中所含不同字符的个数 D .串中所含非空格字符的个数8.设有两个串p 和q,其中q 是p 的子串,求q 在p 中首次出现的位置的算法称为( C )。
A.求子串B.联接C.匹配D.求串长9.数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的( B )和操作等的学科。
A.结构 B .关系 C .逻辑存储 D .算法10.设有一顺序栈S,元素s1,s 2,s 3,s 4,s 5,s 6 依次进栈,如果 6 个元素出栈的顺序是s2,s 3,s 4, s6, s 5,s 1, 则栈的容量至少应该是( B )。
A.2 B.3 C.5 D.611.( D )是C语言中“abcd321ABC”D的子串。
A.abcd B .321AB C. “abcABC”D.“21AB”子串的定义是什么?串中任意个连续的字符组成的子序列成为该串的子串。
0907数据结构(本)
![0907数据结构(本)](https://img.taocdn.com/s3/m/20feb0681ed9ad51f01df2d2.png)
;j 十 + ) ;
;i++)
if Cflag= =O)break;
程序中 flag的功能是( 5 )
2. 以 下 程 序 是 先序 遍 历 二 叉 树 的 递 归 算 法 的 程 序 , 完 成 程 序 中 空 格 部 分 ( 树 结 构 中 左 、 右
指针域分别为 lef t 和 ri g h t,数据域 d a ta为字符型,BT指向根结点)。
2,
….. , 12
0
(1)说出有哪几个元素需要经过 4次元素间的比较才能成功查到 p
(2) 画 出 对 上 述 有 序 表 进 行 折半 查 找 所 对 应 的 判 定 树 ( 树 结 点 用 下 标表 示 h (3) 设 查 找 元 素 为5 , 需 要 进 行 多 少 次元 素 间 的 比 较 才 能 确 定 不 能 查 到 。
2. (1 ) print f( " % c" , BT -> data) (2) Preorder(BT->left) (3) Preorder(BT->right) 1348
12. 二 叉 树 排 序 中 任 一 棵 子 树 都 是 二 叉 排 序 树 , 这 种 说 法 是
正确或不正确)
|得分 l评卷人|
I
1
-,
三、综合题(每小题 1 0分,共 3 0分)
1.设一组记录的关键宇序列为 ( 4 9, 8 3, 5 9, 4 1, 4 3, 4 7 ),采用堆排序算法完成以下操作: (要
D. 逻 辑
3. 以 下 特 征 中 , ( A.有穷性
)不是算法的特性。 B.确定性
C. 可 行 性D. 有O 个 或 多 个 输 出
数据结构复习题(2010)
![数据结构复习题(2010)](https://img.taocdn.com/s3/m/8e1c891a172ded630a1cb6c9.png)
数据结构期末复习题1(0907)一、基本要求1.数据结构基本概念(1)数据、数据对象和数据结构(逻辑、物理结构、基本操作)(2)抽象数据类型(3)算法的特征及评价的标准2.线形结构(1)顺序表的特点及存储结构(2)链表的特点及存储结构(3)栈的特点及基本操作(4)队列的特点及基本操作(5)顺序串和链串的存储结构(6)二维数组的地址计算(7)特殊矩阵的概念及存储结构(对称、三角、对角、稀疏)(8)广义表的概念及存储结构(9)线性表的排序(简单插入、选择和交换)(10)线性表的查找(顺序、折半和分块索引)3.树形结构(1)二叉树的性质及存储结构(顺序、二叉链表、三叉链表)(2)二叉树的遍历(3)线索二叉树(4)树的存储结构(双亲、孩子-双亲、孩子-兄弟链表)(5)树、二叉树与森林的转化方法(6)哈夫曼树(7)二叉排序树及平衡化(8)堆排序树(9)树的等价类划分4.图形结构(1)图的定义及存储结构(2)图的深度优先和广度优先遍历。
(3)图的连通性(4)最小(代价)生成树(5)拓扑排序(6)关键路径(7)最短路径(单源、顶点对)5.查找表(1)散列表的概念(2)散列表解决散列冲突的方法(开放地址法、链地址法)(3)散列表的插入和删除(4)B_树的概念、存储结构及基本操作(查找、插入、删除)6.排序方法(1)希尔排序(2)快速排序(3)二路归并排序(4)基数排序(链式、计数)(5)排序方法比较和分析(时间性能、空间性能、稳定性)二、单选题1.要求具有同一逻辑结构的数据元素具有相同的特性,其含义为A. 数据元素具有同一的特点B.数据元素其对应的数据个数及数据项的类型要一致C. 每个数据元素都一样D. 仅需要数据元素包含的数据项的个数相同2.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q 和*p之间插入结点*s,则执行操作A. s->next=p->next;p->next=s;B. s->next=p;p->next=sC. q->next=s;s->next=p;D. p->next=s;s->next=q;3.设指针p指向双链表的某一结点,则双链表结构的对称性可以用下面的操作来反映A. p->prior->next=p->next->next;B. p->prior->prior=p->next->prior;C. p->prior->next=p-> next->prior;D. p->next->next= p->prior->prior;4.表达式a*(b+c)--d的后缀表达式是A.abcd*+- B.abc+*d-C.abc*+d- D.-+*abcd5.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输出序列不可能是A.A,B,C,D B.D,C,B,AC. A,C,D,BD. D,A,B,C6.设有一个顺序栈的入栈序列是a、b、c,则3个元素都出栈的可能不同排列个数为A.4 B.5 C. 6 D. 77.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为pl,p2,p3,…,pn,若pl是n,则pi是A.i B.n-i C.n-i+1 D.不确定8.已知广义表LS=((a,b,c),(d,e,f)),运算head和tail函数取出元素e的运算是A.head(tail(LS))B.tail(head(LS))C.head(tail(head(tail(LS))))D.head(tail(tail(head(LS))))9.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,l,…,8,列下标为j=1,2.….10。
数据结构复习题(精心整理).docx
![数据结构复习题(精心整理).docx](https://img.taocdn.com/s3/m/32f8d49470fe910ef12d2af90242a8956becaaf6.png)
数据结构复习题(精⼼整理).docx数据结构复习题(打星号内容可以不考虑)习题1 绪论1.1单项选择题1. 数据结构是⼀门研究⾮数值计算的课程,它研究程序设计问题中数据元素的①、数据信息在计算机中的②以及⼀组相关的运算等的课程。
① A.操作对象 B ?计算⽅法 C.逻辑结构 D.数据映象② A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS= (D, R),其中D 是①的有限集合,R 是D 上的②有限集合。
① A.算法B.数据元素C.数据操作D.数据对象② A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。
A. 动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4. 算法分析的⽬的是①,算法分析的两个主要⽅⽽是②。
5. 计算机算法指的是①,它必具备输⼊、输出和②等五个特性。
①A.计算⽅法C. 解决问题的有限运算序列②A.可⾏性、可移植性和可扩充性 C. 确定性、有穷性和稳定性1.2填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。
2. 在线性结构⼬,第⼀个结点前驱结点,其余每个结点有且只有个前驱结点;最后⼀个结点后续结点,其余每个结点有且只有个后续结点。
3. 在树形结构中,树根结点没冇结点,其余每个结点冇仇只冇个直接前驱结点,叶⼦结点没有结点,其余每个结点的直接后续结点可以。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。
5. 线性结构中元素Z 间存在关系,树形结构中元素之间存在关系,图形结构中元素Z① A.找出数据结构的合理性C.分析算法的效率以求改进② A.空间复杂性和时间复杂性C.可读性和⽂档性B. 研究算法⼬的输⼊和输出的关系D.分析算法的易懂性和⽂档性B. 」E 确性和简明性 B.排序⽅法D.调度⽅法B.可⾏性、确定性和有穷性 D.易读性、稳定性和安全性间存在关系。
数据结构大题目课件
![数据结构大题目课件](https://img.taocdn.com/s3/m/14db62fa1b37f111f18583d049649b6648d709ab.png)
归并排序
总结词
稳定、基于分治、适合大规模数据
VS
详细描述
归并排序是一种稳定的排序算法,也采用 分治法进行排序。它将原数组切分为两部 分,分别进行排序,然后再将两个有序数 组合并成一个更大的有序数组。归并排序 也是一个典型的利用“分治法”的一个非 常典型的应用,它的时间复杂度为 O(nlogn),适合处理大规模数据。
图的最短路径算法
要点一
总结词
查找图中两点间最短路径
要点二
详细描述
图的最短路径算法是一类用于查找图中两点间最短路径的 算法。最常用的图的最短路径算法包括Dijkstra算法和 Bellman-Ford算法。Dijkstra算法适用于没有负权边的图 ,它通过维护一个距离数组来记录源节点到其他节点的最 短距离。Bellman-Ford算法适用于包含负权边的图,它通 过动态调整边的权值来找到最短路径。
二分查找
总结词
高效的查找方法,在有序数据结构中通过将 目标元素与中间元素进行比较,每次可以排 除一半的数据。
详细描述
二分查找又称为折半查找,是一种在有序数 据结构中查找目标元素的算法。它通过将目 标元素与中间元素进行比较,根据比较结果 决定继续在左半部分还是右半部分进行查找 。每次比较后,可以排除掉一半的数据,因 此二分查找的时间复杂度通常为O(log n),
适用于大规模有序数据结构的查找。
哈希查找
总结词
通过将关键字映射为数据结构中的位置,实现直接访 问任意位置的元素。
详细描述
哈希查找是一种利用哈希函数将关键字映射到数据结 构中位置的查找方法。它通过将关键字作为输入,经 过哈希函数计算得到数据结构中的位置,然后直接访 问该位置的元素。哈希查找的时间复杂度通常为O(1) ,适用于需要快速访问任意位置的元素的情况。但是 ,哈希查找的实现需要考虑哈希冲突和哈希表的设计 等问题。
《数据结构》练习题PPT课件
![《数据结构》练习题PPT课件](https://img.taocdn.com/s3/m/554819c2f121dd36a32d82ef.png)
A.1,2,4,3 B.2,1,3,4 C.1,4,3,2 D.4,3,1,2 E.3,2,1,4
• 一般情况下,将递归算法转换成等价的非递归算法应该设置
( )。A.堆栈 B.队列 C.堆栈和队列 D.数组
• 判断:栈和队列都是限制取点的线性结构。
• 对于一个栈,如果输入项序列为ABC,试给出所有 可能的输出序列。
置是____。
A.rear-length
B.(rear-length+m) mod m
C.(1+rear+m-length) mod m D.m-length
• 对于一个长度大于1且不存在重复元素的序列,令其所有
元素依次通过一个初始为空的队列后,再通过一个初始
为空的栈,设队列和栈的容量都足够大,一个序列通过
• 若对一个链表最常用的操作是在末尾插入结点和删除 结点,则采用仅设尾指针的单向循环链表(不含头结 点)时,( )。
A. 插入和删除操作的时间复杂度都为O(1)
B. 插入和删除操作的时间复杂度都为O(n)
C. 插入操作的时间复杂度为O(1),删除操作的时间复 杂度为O(n)
D. 插入操作的时间复杂度为O(n),删除操作的时间复 杂度为O(1)
e的次序进入栈S,当一个元素从栈中出来后立即进
入队列Q。若队列的输出元素序列是c、d、b、a、e,
则元素的出栈顺序是__,栈S的容量至少为__。
A. a、b、c、d、e
B. e、d、c、b、a
C. c、d、b、a、e
D. e、a、b、d、c
为以下算法的每一行加注释并简述算法的功能(元素 类型ElemType为int)。
• 算法指的是( )。 A.对特定问题求解步骤的一种描述,是指令的有限序列 B. 计算机程序 C.解决问题的计算方法 D.数据处理 • 下面( )不是算法所必须具备的特性。 A.有穷性 B. 确切性 C.高效性 D.可行性 • 算法分析的目的是( ),算法分析的两个主要方面
数据结构与算法总复习题ppt课件
![数据结构与算法总复习题ppt课件](https://img.taocdn.com/s3/m/1fb70b56f02d2af90242a8956bec0975f465a4f3.png)
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
• ( A )4. 算法分析的两个主要方面是: • A) 空间复杂性和时间复杂性 • B) 正确性和简明性 • C) 可读性和文档性 • D) 数据复杂性和程序复杂性
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
• ( C )5. 计算机算法指的是: • A) 计算方法 • B) 排序方法 • C) 解决问题的有限运算序列 • D) 调度方法
• (A)110 • (B)108 • (C)100 • (D)120
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
•B
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
•D
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
• ( )8. 线性表在 用链式结构实现。
在日常生活中,随处都可以看到浪费 粮食的 现象。 也许你 并未意 识到自 己在浪 费,也 许你认 为浪费 这一点 点算不 了什么
09级数据结构复习题(完整修正版版)
![09级数据结构复习题(完整修正版版)](https://img.taocdn.com/s3/m/f4a908375e0e7cd184254b35eefdc8d376ee1489.png)
09级数据结构复习题(完整修正版版)一、填空题(每空1分)1、组成数据的基本单位是(数据元素)。
2、栈和队列的共同点是(只允许在端点处插入和删除元素)。
3、算法设计的原则是(正确性)、(可读性)、(健壮性)及(高效率与存储量)。
4、ADT(Abstract Data Type),即称为(抽象数据类型),是指一个数学模型及定义在该模型上的一组操作(运算);ADT只考虑数据的(类型)。
5、算法分析的两个主要方面是(空间复杂性)和(时间复杂性)。
6、所有能输入到计算机中去的描述客观事物的符号,称为(数据)。
7、线性表a是n 个类型相同数据元素的有限序列,通常记作(a0,a1,...ai-1,ai,ai+1,...,an)。
8、若线性表第一个元素的存储地址是102,每个元素的长度为4,则第5个元素的地址是:(118)9、在插入排序、选择排序、快速排序和归并排序等方法中,平均查找长度最小的是:(快速排序)10、线性表的链式存储结构是用一组任意的存储单元存储线性表的各个数据元素。
为了表示线性表中元素的先后关系,每个元素除了需要存储自身的信息外还需保存(直接前驱元素)或(直接后继元素)的存储位置。
11、数据元素及直接后继的存储位置(地址)组成一个数据元素的存储结构,称为:(指针域)。
12、线性结构中元素之间存在(一对一)关系,树形结构中元素之间存在(一对多)关系,图形结构中元素之间存在(多对多)关系。
13、数据结构是研究数据的(物理结构)与(逻辑结构)以及它们之间的相互关系。
14、线性的数据结构包括:(线性表)、(栈)、(队列)、(数组)和(串)。
15、在一棵高度为k的满二叉树中,结点总数为(2k-1)。
16、判定一个栈ST(最多元素为m0)为栈满的条件是(ST—> top= =0)。
17、头结点是指:(在单链表的第一个结点之前附设一个结点),称为头结点。
18、在线性结构中,第一个结点(没有)前驱结点,其余每个结点有且只有(一个)个前驱结点;最后一个结点(没有)后续结点,其余每个结点有且只有(一个)个后续结点。
数据结构 复习与习题解析.ppt
![数据结构 复习与习题解析.ppt](https://img.taocdn.com/s3/m/4db690982e3f5727a4e96250.png)
基本概念和术语
【数据结构】相互之间存在一种或多种特定关系的数据 元素的集合
【数据】是对信息的一种符号表示。是可以输入计算机中, 能被计算机识别处理和输出的一切符号集合
。 【数据元素】是数据的基本单位,在计算机中通常作为一个
整体进行考虑和处理。也称为记录。 【数据项】一个数据元素可由若干个数据项组成。是数据不
(3)索引存储方式。除数据元素存储在一地址连续的内存空间外,尚需建立一个索引 表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标),兼 有静态和动态特性。
11
26/02/2021
算法效率的度量方法
❖ 事后统计方法
通过设计好的测试程序和数据,利用计算机测量其运行时间。 缺陷:需要先编写程序;和计算机软硬件相关;和测试数据相关。
❖ 事前分析估算方法(我们的选择)
依据统计方法对算法进行估算。m = f(n),m是语句总的执行次数 ,n是输入的规模。
输出是指与输入有某种特定关系的量。
算法设计的要求
❖ 正确性(四个境界)
没有语法错误 对于合法的输入数据能够产生满足要求的输出 对于非法的输入数据能够得出满足规格说明的结果 对于任何测试数据都有满足要求的输出结果
❖ 可读性:便于阅读、理解和交流 ❖ 健壮性:不合法数据也能合理处理 ❖ 时间效率高和存储量低
数据的逻辑结构
(面向人类)
数据的存储结构
(面向计算机)
线性结构
非线性结构 顺序存储 链式存储 索引存储
线性表 栈 队列 串及数组
树形结构
图形结构
散列存储
数据的运算(操作):检索、排序、插入、删除、修改等
6
26/02/2021
四种基本逻辑结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构期末复习题1(0907)一、基本要求1.数据结构基本概念(1)数据、数据对象和数据结构(逻辑、物理结构、基本操作)(2)抽象数据类型(3)算法的特征及评价的标准2.线形结构(1)顺序表的特点及存储结构(2)链表的特点及存储结构(3)栈的特点及基本操作(4)队列的特点及基本操作(5)顺序串和链串的存储结构(6)二维数组的地址计算(7)特殊矩阵的概念及存储结构(对称、三角、对角、稀疏)(8)广义表的概念及存储结构(9)线性表的排序(简单插入、选择和交换)(10)线性表的查找(顺序、折半和分块索引)3.树形结构(1)二叉树的性质及存储结构(顺序、二叉链表、三叉链表)(2)二叉树的遍历(3)线索二叉树(4)树的存储结构(双亲、孩子-双亲、孩子-兄弟链表)(5)树、二叉树与森林的转化方法(6)哈夫曼树(7)二叉排序树及平衡化(8)堆排序树(9)树的等价类划分4.图形结构(1)图的定义及存储结构(2)图的深度优先和广度优先遍历(3)图的连通性(4)最小(代价)生成树(5)拓扑排序(6)关键路径(7)最短路径(单源、顶点对)5.查找表(1)散列表的概念(2)散列表解决散列冲突的方法(开放地址法、链地址法)(3)散列表的插入和删除(4)B_树的概念、存储结构及基本操作(查找、插入、删除)6.排序方法(1)希尔排序(2)快速排序(3)二路归并排序(4)基数排序(链式、计数)(5)排序方法比较和分析(时间性能、空间性能、稳定性)二、单选题1.要求具有同一逻辑结构的数据元素具有相同的特性,其含义为A. 数据元素具有同一的特点B.数据元素其对应的数据个数及数据项的类型要一致C. 每个数据元素都一样D. 仅需要数据元素包含的数据项的个数相同2.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q 和*p之间插入结点*s,则执行操作A. s->next=p->next;p->next=s;B. s->next=p;p->next=sC. q->next=s;s->next=p;D. p->next=s;s->next=q;3.设指针p指向双链表的某一结点,则双链表结构的对称性可以用下面的操作来反映A. p->prior->next=p->next->next;B. p->prior->prior=p->next->prior;C. p->prior->next=p-> next->prior;D. p->next->next= p->prior->prior;4.表达式a*(b+c)--d的后缀表达式是A.abcd*+- B.abc+*d-C.abc*+d- D.-+*abcd5.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输出序列不可能是A.A,B,C,D B.D,C,B,AC. A,C,D,BD. D,A,B,C6.设有一个顺序栈的入栈序列是a、b、c,则3个元素都出栈的可能不同排列个数为A.4 B.5 C. 6 D. 77.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为pl,p2,p3,…,pn,若pl是n,则pi是A.i B.n-i C.n-i+1 D.不确定8.已知广义表LS=((a,b,c),(d,e,f)),运算head和tail函数取出元素e的运算是A.head(tail(LS))B.tail(head(LS))C.head(tail (tail(LS)))D.head(tail(tail(head(LS))))9.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,l,…,8,列下标为j=1,2.….10。
设每个字符占一个字节,若按行先存储,元素A[8,5]的起始地址与A按列存储时起始地址相同的元素是A.A[8,5] B.A[3,10]C.A[5,8] D.A[0,9]10.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为A. 1140B. 1145C. 1120D. 1125 11.某二叉树的先序序列和后序序列正好相反,则该二叉树的特点一定是A. 空或只有一个结点B.高度等于其结点数C. 任一结点无左孩子D. 任一结点无右孩子12.下列说法正确的是(1)二又树按某种方式线索化后,任一节点均有指向前趋和后继的线索(2)二叉树的前序遍历序列中,任意一个节点均处于在子孙节点前(3)二叉排序树中任一节点的值大于其左孩子的值,小于右孩子的值A.(1)(2)(3) B.(1)(2)C.(1)(3) D.前面的可选答案都不对13.下面的说法中正确的是(1)任何一棵二叉树的叶子节点在三种遍历中的相对次序不变。
(2)按二叉树定义,具有三个节点的二叉树共有6种。
A.(1),(2) B.(1) C.(2) D.(1),(2)都错14.树有先根遍历和后根遍历,树可以转化为对应的二叉树。
下面的说法正确的是A.树的后根遍历与其对应的二叉树的后根遍历相同B.树的后根遍历与其对应的二叉树的中根遍历相同C.树的先根遍历与其对应的二叉树的中根遍历相同D.以上都不对15..下图的邻接表中,从顶点V1 出发采用深度优先搜索法遍历该图,则可能的顶点序列是A. V1V2V3V4V5B. V1V2V3V5V4C. V1V4V3V5V2D. V1V3V4V5V216.以下说法不正确的是A.无向图中的极大连通子图称为连通分量B.连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点C.图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点D.有向图的遍历不可采用广度优先搜索17.在平衡二叉树中插入一个结点后引起了不平衡,设最低(最接近于叶子)的不平衡点是A,并已知A的左、右孩子的平衡因子分别为-1和0,则应进行的平衡旋转是A.LL型B.LR型C.RL型D.RR型18.设哈希表长为14,哈希函数H(key)=key%11,表中已有数据的关键字为15,38,61,84,四个,现将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是A.8 B.3 C.5 D.919.对散列文件,以下说法错误的是A.散列文件插入、删除方便,不需要索引区且节省存储空间B.散列文件只能按关键字随机存取且存取速度快C.经过多次插入、删除后,可能出现溢出桶满的情况D.散列文件顺序存取方便20.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应调整以使其平衡,所作的平衡旋转是A. LL型B. LR型C. RL型D. RR型21.在n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为A. O(n)B. O(log2n)C. O(nlog2n)D. O(n2)22.下列排序算法中,在待排序数据已基本有序时,效率最高的排序方法是A.插入B.选择C.快速D.堆23.关键路径是事件结点网络中A.从源点到汇点的最长路径B.从源点到汇点的最短路径C.最长的回路D.最短的回路24.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是A.n B.2n-1 C.2n D.n-125.下列排序算法中,时间复杂度不受数据初始状态影响,恒为0(nlog2n)的是A. 堆排序B. 冒泡排序C. 直接选择排序D. 快速排序26.数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用最节省时间的排序算法是A. 堆排序B. 希尔排序C. 快速排序D. 直接选择排序27.在分块索引查找的索引表中查找,算法中采用的技术是A. 穷举法B. 贪心法C. 分治法D. 回溯法28.有向图G用邻接矩阵A存储,则顶点i的入度等于A中A. 第i行1的元素之和B. 第i列1的元素之和C. 第i行0的元素个数D. 第i列非0的元素个数三、问答题1.数据结构被形式地定义为(D,R),其中D和R 的含义是什么。
(D是数据元素的集合,R是数据关系的集合)。
数据的逻辑结构包括哪四种类型。
(线性结构、树形结构、图形结构、集合类型)。
从存储结构的概念上讲,顺序表是线性表的(顺序存储结构),链表是(链式存储结构)。
2.算法的五个重要特性有哪些。
(有穷性、确定性、可行性、输入、输出)。
抽象数据类型是指一个(数学模型)以及定义在该模型上的(一组操作)。
3.在含有n个结点的顺序存储的线性表中,在任意一个结点前插入一个结点所需要移动结点的平均次数为(n/2 )。
在含有n个结点的顺序存储的线性表中,任意删除一个结点所需要移动结点的平均次数为(n-1/2 )。
对一个线性表分别进行遍历和逆置运算,其最好的时间复杂度量级均为(O(n))。
4.线性结构中的一个结点代表一个(数据元素)。
若线性表中最常用的操作是取第i个元素和查找该元素的前驱,则采用的存储方式最能节省时间的是(顺序表)。
若最常用的操作是插入和删除第i个元素,则采用的存储方式最能节省时间的是(单链表)。
5.在一个不带头结点的单链表中,在表头插入或删除与在其他位置插入或删除操作过程不同,,需要修改(头指针)。
在单链表中设置头结点的作用是(便于操作),无论链表是否为空。
使(头指针)均不为空。
对于双向链表,在两个结点之间插入一个新结点需修改的指针共有(4个),单链表为(2个)。
6.如果以链栈为存储结构,则出栈操作时( 必须判别栈空),与顺序栈相比,链栈有一个明显的优势是( 不易出现栈满)。
7.循环队列采用数组data[1..n]来存储元素的值,并用front和rear分别作为其头尾指针。
为区分队列的满和空,约定:队中能够存放的元素个数最大为n-l,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下标是(front);入队时,可用语句(rear=rear+1%n)求出新元素在数组data中的下标。
8.已知栈的输入序列为1,2,3….,n,输出序列为a1,a2,…,an,a2=n的输出序列共有(n-1)种输出序列。
9.稀疏矩阵一般的压缩存储方法有两种,它们是用(哈希表、三元组和十字链表)。
对矩阵压缩存储是为了(节省空间)。
10.将下三角矩阵A[l..8,1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址为(1100)。
11.已知数组A[1..10,1..10]为对称矩阵,其中每个元素占5个单元。
现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址为(1095)。