2010安徽省数据结构与算法最新考试试题库

合集下载

国开期末考试《数据结构与算法》机考试题及答案(第10套)

国开期末考试《数据结构与算法》机考试题及答案(第10套)

国开期末考试《数据结构与算法》机考试题及答案(第10套)一、选择题(每题2分,共20分)1. 数据的逻辑结构是指()。

A. 数据元素之间的逻辑关系B. 数据元素本身的特点C. 数据的存储结构D. 数据的加工处理过程答案:A. 数据元素之间的逻辑关系二、填空题(每题2分,共20分)2. 在栈中,最后进入的数据元素总是首先被()。

答案:弹出三、判断题(每题2分,共20分)3. 线性表是一种线性结构。

()答案:正确四、简答题(每题10分,共30分)4. 简述顺序存储结构和链式存储结构的特点。

答案:顺序存储结构:数据元素在物理位置上连续存储,可以通过下标快速访问。

五、编程题(共50分)5. 编写一个函数,实现单链表的排序。

(20分)答案:class ListNode:def __init__(self, value):self.value = valueself.next = Nonedef sort_linked_list(head):if not head or not head.next:return headpivot = head.valueless = less_head = ListNode(None) equal = equal_head = ListNode(None) greater = greater_head = ListNode(None)current = headwhile current:if current.value < pivot:less.next = currentless = less.nextelif current.value == pivot:equal.next = currentequal = equal.nextelse:greater.next = currentgreater = greater.nextcurrent = current.nextless.next = less_head.nextequal.next = equal_head.next greater.next = greater_head.nextreturn merge_sorted_lists(sort_linked_list(less_head.next),sort_linked_list(equal_head.next), sort_linked_list(greater_head.next))def merge_sorted_lists(l1, l2, l3):dummy = ListNode(None)current = dummywhile l1 and l2 and l3:if l1.value < l2.value and l1.value < l3.value:current.next = l1l1 = l1.nextelif l2.value < l1.value and l2.value < l3.value:current.next = l2l2 = l2.nextelse:current.next = l3l3 = l3.nextcurrent = current.nextif l1:current.next = l1 elif l2:current.next = l2 else:current.next = l3 return dummy.next。

数据结构与算法分析考试试题

数据结构与算法分析考试试题

数据结构与算法分析考试试题一、选择题(共 20 小题,每小题 3 分,共 60 分)1、在一个具有 n 个元素的顺序表中,查找一个元素的平均时间复杂度为()A O(n)B O(logn)C O(nlogn)D O(n²)2、以下数据结构中,哪一个不是线性结构()A 栈B 队列C 二叉树D 线性表3、一个栈的入栈序列是 1,2,3,4,5,则栈的不可能的出栈序列是()A 5,4,3,2,1B 4,5,3,2,1C 4,3,5,1,2D 1,2,3,4,54、若一棵二叉树的先序遍历序列为 ABCDEFG,中序遍历序列为CBDAEGF,则其后序遍历序列为()A CDBGFEAB CDBFGEAC CDBAGFED BCDAGFE5、具有 n 个顶点的无向完全图的边数为()A n(n 1)B n(n 1) / 2C n(n + 1) / 2D n²6、以下排序算法中,在最坏情况下时间复杂度不是O(n²)的是()A 冒泡排序B 选择排序C 插入排序D 快速排序7、在一个长度为 n 的顺序表中,删除第 i 个元素(1≤i≤n)时,需要向前移动()个元素。

A n iB iC n i + 1D n i 18、对于一个具有 n 个顶点和 e 条边的有向图,其邻接表表示中,所有顶点的边表中边的总数为()A eB 2eC e/2D n(e 1)9、以下关于哈夫曼树的描述,错误的是()A 哈夫曼树是带权路径长度最短的二叉树B 哈夫曼树中没有度为 1 的节点C 哈夫曼树中两个权值最小的节点一定是兄弟节点D 哈夫曼树中每个节点的权值等于其左右子树权值之和10、用邻接矩阵存储一个具有 n 个顶点的无向图时,矩阵的大小为()A nB n²C (n 1)²D (n + 1)²11、下列关于堆的描述,正确的是()A 大根堆中,每个节点的值都大于其左右子节点的值B 小根堆中,每个节点的值都小于其左右子节点的值C 堆一定是完全二叉树D 以上都对12、在一个具有 n 个单元的顺序存储的循环队列中,假定 front 和rear 分别为队头指针和队尾指针,则判断队满的条件是()A (rear + 1) % n == frontB (front + 1) % n == rearC rear == frontD rear == 013、已知一个图的邻接表如下所示,从顶点 1 出发,按深度优先搜索法进行遍历,则得到的一种可能的顶点序列为()|顶点|邻接顶点|||||1|2, 3||2|4, 5||3|5||4|6||5|6||6| |A 1, 2, 4, 6, 5, 3B 1, 2, 5, 3, 4, 6C 1, 2, 3, 5, 4, 6D 1, 3, 2, 4, 5, 614、对线性表进行二分查找时,要求线性表必须()A 以顺序方式存储,且元素按值有序排列B 以顺序方式存储,且元素按值无序排列C 以链式方式存储,且元素按值有序排列D 以链式方式存储,且元素按值无序排列15、以下算法的时间复杂度为 O(nlogn)的是()A 顺序查找B 折半查找C 冒泡排序D 归并排序16、若某链表最常用的操作是在最后一个节点之后插入一个节点和删除最后一个节点,则采用()存储方式最节省时间。

2010年安徽省数据结构与算法考试题库

2010年安徽省数据结构与算法考试题库

39、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是
A.二分查找 B.顺序查找 C.分块查找 D.索引顺序查找
A.整形 B.引用型
C.指针型 D.常值引用型?
7、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
8、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
1、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
2、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
21、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
22、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
23、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
18、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是

2010《数据结构》期末试卷_A卷及答案

2010《数据结构》期末试卷_A卷及答案

一、(本题10分)(1)简述线性表的两种存储结构的主要优缺点及各自适用的场合。

(2)在折半查找和表插入排序中,记录分别应使用哪种存储结构,并用一句话简述理由。

答:(1)顺序存储是按索引(如数组下标)来存取数据元素,优点是可以实现快速的随机存取,缺点是插入与删除操作将引起元素移动,降低效率。

对于链式存储,元素存储采取动态分配,利用率高。

缺点是须增设指针域,存储数据元素不如顺序存储方便。

优点是插入与删除操作简单,只须修改指针域。

(2)在折半查找中,记录使用顺序存储,可以快速实现中点的定位;在表插入排序中,记录使用静态链表,可以降少移动记录的操作。

二、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,部分未显示,请画出该二叉树。

先序序列: _ 2 3_5_7 8;中序序列: 3_4 1_7 8 6;后序序列:_ 4 2 _ _ 6 5 1。

答:三、(本题10分)假定用于通讯的电文仅由a 、b 、c 、d 、e 、f 、g 等8个字母组成,字母在电文中出现的频率分别为:0.07、0.19、0.02、0.06、0.32、0.03、0.21和0.10。

试为这些字母设计哈夫曼编码。

答:一种编码如下:a: 0010 b: 10 c:00000 d:0001 e:01 f:00001 g:11 h:0011四、(本题15分)给定下面的带权无向图G :1)从顶点0开始,请写出深度优先遍历序列和广度优先遍历序列,当有多种选择时,编号小的结点优先。

2)从顶点0开始,使用普里姆算法求出该图的最小生成树,需画出最小生成树的构造过程。

3)有人给出求解最小生成树的另外一种算法:将连通图中的边按其权值从大到小顺序逐个删123 45768厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2008年级___专业主考教师:陈怡疆 庄朝晖 试卷类型:(A 卷)除直至不可再删,删除要遵循的原则是:保证在删除该边后各个顶点之间应该是连通的。

数据结构与算法复习题库含答案

数据结构与算法复习题库含答案

数据结构复习题第一章概论一、选择题1、研究数据结构就是研究( D )。

A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。

A. 空间复杂度和时间复杂度 B. 正确性和简单性C. 可读性和文档性 D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。

A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。

A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。

fori0;im;i++forj0;jn;j++a[i][j]i*j;A. Om2B. On2C. Om*nD. Om+n6、算法是( D )。

A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。

A. OnB. Onlog2nC. On2D. Olog2n8、下面程序段的时间复杂度为( C )。

i1;whileinii*3;A. OnB. O3nC. Olog3nD. On39、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。

A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是( A )。

is0;whilesni++;s+i;A. OnB. On2C. Olog2nD. On311、抽象数据类型的三个组成部分分别为( A )。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是(D)。

安徽大学08—09数据结构考试试卷及答案

安徽大学08—09数据结构考试试卷及答案

安徽大学计算机科学与技术学院2009 ——2010学年第二学期计算机科学与技术专业2008年级数据结构课程(测验)学号姓名得分(闭卷120分钟)1.线性表不具有的特点是(B )。

A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先知道存储空间D.所需空间与线性表长度成正比2.已知L是带头结点的单链表,指针P指向的结点既不是首元结点,也不是尾元结点,在P结点后插入S结点的语句序列是BC 。

A.P->next=S->next B.S->next=P->nextC.P->next=S D.S->next=P3.设一个栈的输入序列为1,2,3,4,则所得的输出序列可能是ABC 。

A.1,2,3,4 B.4,3,2,1C.1,3,4,2 D.4,1,2,34.队列操作的原则是 A 。

A.先进先出B.后进先出C.只能进行插入D.只能进行删除5.串是 D 。

A.不少于一个字母的序列B.任意个字母的序列C.不少于一个字符的序列D.有限个字符的序列6.在主串S中查找子串t的第1次出现的位置的操作称为 BC 。

A.字符串的查找B.字符串的定位C.模式匹配D.字符串的操作7. 在数组A中,每个元素占3个字节,行下标i从1到8,列下标j从1 到10,从首地址SA开始连续存放在存储器中,该数组按列存放时,元素A[5][8]的起始地址为B 。

A.SA+141 B.SA+180C.SA+222 D.SA+2258.广义表((a,b),c,d)的表头是 C 。

A .aB . (a )C . (a,b )D . ((a ))二、填空题(每空2分,共12分)1.下面程序段中语句 k+=10*i 的执行次数是 n-1 。

i =1;k=0; while (i<=n-1 ){k+=10*i ; i++;}2.在顺序表中插入一个元素,需要平均移动 n/2 元素,具体移动的元 素个数与_插入位置和表长__________________有关。

资料:安徽大学数据结构A卷_

资料:安徽大学数据结构A卷_

安徽大学2010—2011学年第2学期《 数据结构 》考试试卷(A 卷) (闭卷 时间120分钟)考场登记表序号一、填空题(每小题1分,共15分)1. 设循环队列的空间大小为M ,头指针和尾指针分别为front 和rear ,则判断队列满的语句为 。

2. n 个顶点的连通图至少有_____ ______条边。

3.下列程序段的时间复杂度是 。

for (i=2;i<=n;i++)for (j=2;j<=i-1;j++) s++;4. 广义表L=((a ,b),(c )),进行Head (L )操作后的结果为 。

5. 由带权为7、5、2、4的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为 。

6. 在栈中删除栈顶元素的出栈函数是 。

7. 数据结构在计算机中的表示称为数据的 结构。

8.在无向图的邻接表中,表结点的个数等于边数的 倍。

9.二维数组A[0‥4][0‥6]以行序为主序存储,每个元素占2个存储单元,且A[0][0]的存储地址是30,则A[4][5]的地址是 。

10. 深度为5的二叉树至多有 个结点。

11.子串p=’or’ 在主串s =’Hello Word’ 中的位置是 。

12. 含有100个结点的树有______ ______条边。

13.含有11个元素的有序表,进行二分查找时的判定树的深度为 。

14.在树中,一个结点的直接孩子结点的个数称为该结点的 。

15.在顺序存储结构的线性表中,插入或删除一个数据元素大约需移动表中 元素。

题 号 一 二 三 四 五 六 七 总分 得 分阅卷人院/系 年级 专业 姓名 学号答 题 勿 超 装 订 线 ------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------得分得分二、单项选择题(每小题2分,共20分)1.在数据结构中,从逻辑上可以把数据结构分成()。

2010-2011(2)数据结构B卷及答案

2010-2011(2)数据结构B卷及答案

安徽大学2010—2011学年第2学期《 数据结构 》考试试卷(B 卷) (闭卷 时间120分钟)考场登记表序号一、填空题(每小题1.5分,共15分) 1.含有36个元素的有序表,进行二分查找时的判定树的深度为 6 。

2.在一个无向图中,所有顶点的度数之和等于所有边数的 2 倍。

3. 由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为 44 。

4.由a ,b ,c 三个结点构成的二叉树,共有 5 种不同形态。

5.二维数组A[0‥5][5‥10]以行序为主序存储,每个元素占4个存储单元,且A[0][5]的存储地址是1000,则A[3][9]的地址是 1088 。

6.若串s=''soft ,则其子串个数是 11 。

7. 设循环队列的空间大小为M ,入队时修改队尾指针rear 的语句为 rear=(rear+1)%M 。

8.在顺序存储结构的线性表中,插入或删除一个数据元素大约需移动表中 一半 元素。

9.下列程序段的时间复杂度是 O(m*n) 。

for (i=0;i<n;i++) for (j=0;j<m;j++) A[i][j]+=5;10. 在数据结构中,与所使用的计算机无关的是数据的 逻辑 结构。

二、单项选择题(每小题2分,共20分)1. 数据结构可以用二元组来表示,它包括( A )集合D 和定义在D 上的( C )集合R 。

A 、数据元素B 、存储结构C 、元素之间的关系D 、逻辑结构2. 已知L 是一个不带头结点的单链表,p 指向其中的一个结点,选择合适的语句实现在院/系 年级 专业 姓名 学号答 题 勿 超 装 订 线 ------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------p结点的后面插入一个结点s的操作(B)。

最新 十套数据结构试题及答案

最新 十套数据结构试题及答案

最新十套数据结构试题及答案最新十套数据结构试题及答案数据结构试卷(一).................1数据结构试卷(二).. (4)数据结构试卷(三).................6数据结构试卷(四).................8数据结构试卷(五)................11数据结构试卷(六)................14数据结构试卷(七)................16数据结构试卷(八)................18数据结构试卷(九)................20数据结构试卷(十). (23)数据结构试卷(一)参考答案.........26数据结构试卷(二)参考答案 (27)数据结构试卷(三)参考答案.........28数据结构试卷(四)参考答案.........30数据结构试卷(五)参考答案.........32数据结构试卷(六)参考答案.........33数据结构试卷(七)参考答案.........36数据结构试卷(八)参考答案.........37数据结构试卷(九)参考答案.........38数据结构试卷(十)参考答案.........39数据结构试卷(一)一、单选题(每题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(10),a[2][2]存放位置在676(10),每个元素占一个空间,问a[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

a.688b.678c.692d.6965.树最适合用来表示()。

数据结构与算法测试题+参考答案

数据结构与算法测试题+参考答案

数据结构与算法测试题+参考答案一、单选题(共80题,每题1分,共80分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?A、仅有头指针的单循环链表B、双链表C、仅有尾指针的单循环链表D、单链表正确答案:C2、数据结构研究的内容是()。

A、数据的逻辑结构B、数据的存储结构C、建立在相应逻辑结构和存储结构上的算法D、包括以上三个方面正确答案:D3、下列关于无向连通图特征的叙述中,正确的是:所有顶点的度之和为偶数边数大于顶点个数减1至少有一个顶点的度为1A、只有1B、1和2C、1和3D、只有2正确答案:A4、下面的程序段违反了算法的()原则。

void sam(){ int n=2;while (n%2==0) n+=2;printf(“%d”,n);}A、确定性B、可行性C、有穷性D、健壮性正确答案:C5、对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。

下列叙述中,正确的是:A、出现频次不同的字符在 T2 中处于相同的层B、出现频次不同的字符在 T1 中处于不同的层C、T1 的高度大于 T2 的高度D、T1 与 T2 的结点数相同正确答案:A6、数据序列{ 3,2,4,9,8,11,6,20 }只能是下列哪种排序算法的两趟排序结果?A、快速排序B、选择排序C、插入排序D、冒泡排序正确答案:A7、设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。

采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。

元素59存放在散列表中的地址是:A、11B、9C、10D、8正确答案:A8、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是:A、每次划分后,先处理较短的分区可以减少递归次数B、递归次数与每次划分后得到的分区处理顺序无关C、递归次数与初始数据的排列次序无关D、每次划分后,先处理较长的分区可以减少递归次数正确答案:B9、以下数据结构中,()是非线性数据结构。

数据结构与算法题库(含参考答案)

数据结构与算法题库(含参考答案)

数据结构与算法题库(含参考答案)一、单选题(共100题,每题1分,共100分)1、在一次校园活动中拍摄了很多数码照片,现需将这些照片整理到一个PowerPoint 演示文稿中,快速制作的最优操作方法是:A、创建一个 PowerPoint 相册文件。

B、创建一个 PowerPoint 演示文稿,然后批量插入图片。

C、创建一个 PowerPoint 演示文稿,然后在每页幻灯片中插入图片。

D、在文件夹中选中所有照片,然后单击鼠标右键直接发送到PowerPoint 演示文稿中。

正确答案:A2、下面对“对象”概念描述错误的是A、对象不具有封装性B、对象是属性和方法的封装体C、对象间的通信是靠消息传递D、一个对象是其对应类的实例正确答案:A3、设栈与队列初始状态为空。

首先A,B,C,D,E依次入栈,再F,G,H,I,J 依次入队;然后依次出队至队空,再依次出栈至栈空。

则输出序列为A、F,G,H,I,J,E,D,C,B,AB、E,D,C,B,A,J,I,H,G,FC、F,G,H,I,J,A,B,C,D,E,D、E,D,C,B,A,F,G,H,I,J正确答案:A4、设表的长度为 20。

则在最坏情况下,冒泡排序的比较次数为A、20B、19C、90D、190正确答案:D5、设二叉树的前序序列为 ABDEGHCFIJ,中序序列为 DBGEHACIFJ。

则后序序列为A、DGHEBIJFCAB、JIHGFEDCBAC、GHIJDEFBCAD、ABCDEFGHIJ正确答案:A6、Excel工作表B列保存了11位手机号码信息,为了保护个人隐私,需将手机号码的后 4 位均用“*”表示,以 B2 单元格为例,最优的操作方法是:A、=REPLACE(B2,7,4,"****")B、=REPLACE(B2,8,4,"****")C、=MID(B2,7,4,"****")D、=MID(B2,8,4,"****")第 10 组正确答案:B7、小金从网站上查到了最近一次全国人口普查的数据表格,他准备将这份表格中的数据引用到 Excel 中以便进一步分析,最优的操作方法是:A、通过 Excel 中的“自网站获取外部数据”功能,直接将网页上的表格导入到 Excel 工作表中。

全国2010年10月自考数据结构真题及答案

全国2010年10月自考数据结构真题及答案

请画出该二叉树对应的森林。 29.请回答下列问题: (1)英文缩写DAG的中文含义是什么? (2)请给出下面DAG图的全部拓扑排序。
四、算法阅读题(本大题共4小题,每小题5分,共20分) 30.已知线性表(a1,a2,a3...,an)按顺序存放在数组a中,每个元素均为整数,下列程序的功能是将所有
自考乐园,自考学习交流、资料共享的好去处!自考乐园,自考人自己的家园.... 俱乐进入俱乐部
20.用5个权值{3, 2,4,5,1}构造的哈夫曼(Huffman)树的带权路径长度是___________。 21.若无向图G中有n个顶点m条边,采用邻接矩阵存储,则该矩阵中非0元素的个数为___________。 22.影响排序效率的两个因素是关键字的___________次数和记录的移动次数。 23.对任一m阶的B树,每个结点中最多包含___________个关键字。 24.若两个关键字通过散列函数映射到同一个散列地址,这种现象称为___________。
Info otherinfo; }SeqList; void InsertSort(SeqList R[],int n)
{/* 待排序列保存在R[1..n]中*/ SeqList x; int i,j,k,lo,hi,mi; for (i=2;i<=n;i++) { (1) lo=1; hi=i-l; while { mi=(lo+hi)/2; if ( (2) ) break; hi=mi-l; (lo<=hi) ;
15.若需高效地查询多关键字文件,可以采用的文件组织方式为( A.顺序文件 C.散列文件 B.索引文件 D.倒排文件
)
二、填空题(本大题共10小题,每小题2分,共20分) 请每小题的空格中填上正确答案。错填、不填均无分。 16.下面程序段的时间复杂度为___________。 sum=1; for(i=0;sum<n;i++) sum+=1; 17.已知链表结点定义如下: typedef struct node{

《数据结构与算法》2010(A)答案解析.

《数据结构与算法》2010(A)答案解析.

广西工学院 2010 — 2011 学年第 1 学期考试试题考核课程 数据结构与算法 ( A 卷)考核班级 计y091~096 学生数 215 印数 230 考核方式 闭卷 考核时间 120 分钟【说明】试题满分共100分;考试时间为2个小时;一、选择题(每小题2分,共30分)1、设一序列为:1,2,3,4,5,6。

通过栈操作不可能产生的序列为 B 。

A 、3,2,5,6,4,1 B 、1,5,4,6,2,3 C 、2,4,3,5,1,6 D 、4,5,3,6,2,1这题考栈的性质:后进先出。

进栈的序号是1最先6最后,但不规定要同时进,然后再出栈。

可以1进去,1出来,然后2进去,2出来,也可以1进去,2进去,2出来,1出来。

按照这个原则,先看:A )是可能的,进出栈情况如下:1,2,3依次进栈,3出栈2出栈;4,5进栈,5出栈;6进栈,6出栈;4再出栈,最后是1出栈。

B )不可能:原因:1进栈1出栈;2,3,4,5进栈,5出栈4出栈;6再进栈,6出栈,此时3在栈顶,2不可能比3还要先出栈。

其他的答案依此可以得出。

2、设有向图G=(V ,E ),V={1,2,3,4,5,6};E={<1,2>,<2,1>,<6,3>,<2,3>,<5,6>,<2,4>,<3,5>}。

则其强连通分量个数为 A 。

A 、3 B 、4 C 、5 D 、6考有向图中的强联通分量问题:首先要把强联通分量概念弄清楚:有向图强连通分量在有向图G 中,如果两个顶点vi,vj 间(vi<>vj )有一条从vi 到vj 的有向路径,同时还有一条从vj 到vi 的有向路径,则称两个顶点强连通(strongly connected)。

如果有向图G 的每两个顶点都强连通,称G 是一个强连通图。

非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。

2010安徽省数据结构考试深入

2010安徽省数据结构考试深入

1、冒泡排序算法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉)请给出上浮和下沉过程交替的冒泡排序算法。

48.有n个记录存储在带头结点的双向链表中,现用双向起泡排序法对其按上升序进行排序,请写出这种排序的算法。

(注:双向起泡排序即相邻两趟排序向相反方向起泡)2、设有一个数组中存放了一个无序的关键序列K1、K2、…、Kn。

现要求将Kn放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n。

51. 借助于快速排序的算法思想,在一组无序的记录中查找给定关键字值等于key的记录。

设此组记录存放于数组r[l..h]中。

若查找成功,则输出该记录在r数组中的位置及其值,否则显示“not find”信息。

请编写出算法并简要说明算法思想。

3、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p 和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。

4、假设以I和O分别表示入栈和出栈操作。

栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。

(15分)(1)A和D是合法序列,B和C 是非法序列。

(2)设被判定的操作序列已存入一维数组A中。

int Judge(char A[])//判断字符数组A中的输入输出序列是否是合法序列。

如是,返回true,否则返回false。

{i=0; //i为下标。

j=k=0; //j和k分别为I和字母O的的个数。

while(A[i]!=‘\0’) //当未到字符数组尾就作。

{switch(A[i]){case‘I’: j++; break; //入栈次数增1。

case‘O’: k++; if(k>j){printf(“序列非法\n”);exit(0);}}i++; //不论A[i]是‘I’或‘O’,指针i均后移。

数据结构与算法练习题库(含答案)

数据结构与算法练习题库(含答案)

数据结构与算法练习题库(含答案)一、单选题(共80题,每题1分,共80分)1、对一棵二叉树的结点从 1 开始顺序编号。

要求每个结点的编号大于其左子树所有结点的编号、但小于右子树中所有结点的编号。

可采用▁▁▁▁▁ 实现编号。

A、中序遍历B、先序遍历C、层次遍历D、后序遍历正确答案:A2、设一段文本中包含4个对象{a,b,c,d},其出现次数相应为{4,2,5,1},则该段文本的哈夫曼编码比采用等长方式的编码节省了多少位数?A、5B、4C、2D、0正确答案:C3、两个有相同键值的元素具有不同的散列地址A、一定不会B、一定会C、可能会D、有万分之一的可能会正确答案:C4、将元素序列{18,23,11,20,2,7,27,33,42,15}按顺序插入一个初始为空的、大小为11的散列表中。

散列函数为:H(Key)=Key%11,采用线性探测法处理冲突。

问:当第一次发现有冲突时,散列表的装填因子大约是多少?A、0.73B、0.27C、0.64D、0.45正确答案:D5、对N个记录进行归并排序,归并趟数的数量级是:A、O(NlogN)B、O(logN)C、O(N)D、O(N2)正确答案:B6、下列说法不正确的是:A、图的遍历是从给定的源点出发每一个顶点仅被访问一次B、图的深度遍历不适用于有向图C、遍历的基本算法有两种:深度遍历和广度遍历D、图的深度遍历是一个递归过程正确答案:B7、二叉树的中序遍历也可以循环地完成。

给定循环中堆栈的操作序列如下(其中push为入栈,pop为出栈): push(1), push(2), push(3), pop(), push(4), pop(), pop(), push(5), pop(), pop(), push(6), pop()A、6是根结点B、2是4的父结点C、2和6是兄弟结点D、以上全不对正确答案:C8、设最小堆(小根堆)的层序遍历结果为{1, 3, 2, 5, 4, 7, 6}。

2010年算法与数据结构(I)期末试题与参考答案

2010年算法与数据结构(I)期末试题与参考答案

蜗牛在线更多免费学习资料等待您的光临!2009—2010学年“算法与数据结构(I)”期末试题与参考答案一、单项选择题(本题共20分,每小题各2分)1.一个完整算法应该具备的特性之一是有穷性,这里的有穷性是指。

A.算法必须写得简明扼要B.算法必须在有限的时间内能够结束C.算法的每一步必须有清晰明确的含义D.算法的每一步必须具有可执行性2.设非空单链表的结点构造为data link 。

若已知q指结点是p指结点的的直接前驱,则在q和p之间插入s所指结点的过程是依次执行A.s->link=p->link; p->link=s; B.p->link=s->link; s->link=p;C.q->link=s; s->link=p; D.p->link=s; s->link=q;3.下列4种操作中,不是堆栈的基本操作的是。

A.判断堆栈是否为空B.删除栈顶元素C.删除栈底元素D.将堆栈置为空栈4.若完全二叉树的第6层有10个叶结点,则该完全二叉树结点总数最多是。

A.107 B.108 C.234 D.2355.若具有n 个顶点e 条边且不带权的无向图采用邻接矩阵存储,则邻接矩阵中零元素的数目是。

A.n+e B.2(n+e) C.n2+2e D.n2-2e6.对于无向图G1=(V1,E1)和G2=(V2,E2),若G2是G1的生成树,则下面的说法中,错误的是。

A.G2是G1的连通分量B.G2是G1的子图C.G2是G1的极小连通子图,且V1=V2 D.G2是G1的一个无环子图7.在表长为9 的有序表中进行折半查找,经过3 次元素之间的比较以后查找成功的元素分别是。

A.第2,4,7,9个元素B.第2,4,7,8个元素C.第1,3,6,8个元素D.第1,4,6,9个元素8.评价一个“好”的散列函数的主要指标是。

A.函数是否是一个解析式子B.函数的形式是否简单C.函数的取值是否均匀D.函数的计算是否快9.若序列(11,12,13,7,8,9,23,4,5)是采用下列排序方法之一得到的第2 趟排序后的结果,则该排序方法只能是。

数据结构考试试题及答案

数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。

答案:线性2. 一个具有n个顶点的无向图的边数最多为______。

答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。

答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。

2010年数据结构考试模拟题及答案

2010年数据结构考试模拟题及答案

2010年数据结构考试模拟题型一、单选题(每题2 分,共20分)1. 对一个算法的评价,不包括如下()方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6. 采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9. 快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10. 10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、填空题(每题6 分,共24分)1. 数据结构是指数据及其相互之间的______________。

当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A)线性表 B)栈
C)队列 D)树
29、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
13、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
14、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)等量分块表示法 D)不等量分块表示法
18、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
19、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
22、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
34、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
35、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
C)p=p->next->next; D) p->next=p;
12、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
8、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
24、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
25、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
26、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
42、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
43、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
40、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
41、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
36、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
5、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
6、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) rear=front->next; D) front=rear->next ;
11、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C) D->Rchild=Null D) D->ltag=0
7、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
D)线性表采用顺序存储,便于进行插入和删除操作。
38、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
30、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
31、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
16、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
17、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
32、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
33、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
21、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
3、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
4、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
9、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
10、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
A)9 B)11 C)15 D)不能确定
C)线性结构和非线性结构 D)内部结构和外部结构
15、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
20、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
1、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
2、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
A)3 B)4 C)5 D)1
27、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
28、串的逻辑结构与( D )的逻辑结构不同。
D) E, D, C, B, A
39、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
相关文档
最新文档