数据结构习题2011级

合集下载

2011年数据结构本科试题及答案

2011年数据结构本科试题及答案

武汉大学计算机学院2011年-2012学年第一学期“数据结构”考试试题(A)要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和学号。

一、单项选择题(共20小题,每小题2分,共40分)1. 下列各选项中属于逻辑结构的是。

A.哈希表B.有序表C.单链表D.顺序表2. 对于数据结构,以下叙述中不正确的是。

A.数据的逻辑结构与数据元素本身的形式和内容无关B.数据的逻辑结构是数据的各数据项之间的逻辑关系C.数据元素是数据的基本单位D.数据项是数据的最小单位3. 某算法的时间复杂度为O(n2),表明该算法的。

A.问题规模是n2B.执行时间等于n2C.执行时间与n2成正比D.问题规模与n2成正比4. 通常在单链表中增加一个头节点,其目的是为了。

A.使单链表至少有一个节点B.标识表节点中首节点的位置C.方便单链表运算的实现D.说明单链表是线性表的链式存储5. 删除某个双链表中的一个节点(非首、尾节点),需要修改个指针域。

A.1B.2C.3D.46. 栈和队列是两种不同的数据结构,但它们中的元素具有相同的。

A.抽象数据类型B.逻辑结构C.存储结构D.运算7. 元素a、b、c、d、e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有的元素都出栈,则所有可能的出栈序列中,以元素d开头的序列个数是。

A.3B.4C.5D.68. 设环形队列中数组的下标是0~N-1,其头尾指针分别为f和r(f指向队列中队头元素的前一个位置,r指向队尾元素的位置),则其元素个数为。

A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N9. 已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。

若初始时队列空,且要求第一个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是。

A.0,0B.0,n-1C.n-1,0D.n-1,n-110. 对于n阶(n≥2)对称矩阵,采用压缩方法以行序优先存放到内存中,则需要个存储单元。

2011年江苏省《数据结构》期末考试试题及答案知识大全

2011年江苏省《数据结构》期末考试试题及答案知识大全

14、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
15、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
26、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
27、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
43、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
44、若某线性表中最常用的操作是取第i个元素和找第i个元素的前驱,则采用( )存储方法最节省时间
20、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
A 顺序表 B单链表 C 双链表 D单循环链表
45、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
46、深度为k的完全二叉树所含叶结点的个数最多为( B)。

2011年10月数据结构试题及答案

2011年10月数据结构试题及答案

全国2011年10月高等教育自学考试-----数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)1、在数据的逻辑结构中,树结构和图结构都是()A.非线性结构B.线性结构C.动态结构D.静态结构2.在一个长度为n的顺序表中插入一个元素的算法的时间复杂度为()A.O(1)B.O(log n)C.O(n)D.O(n2)3.指针p1和p2分别指向两个无头结点的非空单循环链表中的尾结点,要将两个链表链接成一个新的单循环链表,应执行的操作为()A.p1->next=p2->next;p2->next=p1->next;B. p2->next=p1->next;p1->next=p2->next;C. p=p2->next; p1->next=p;p2->next=p1->next;D. p=p1->next; p1->next= p2->next;p2->next=p;4.设栈的初始状态为空,入栈序列为1,2,3,4,5,6,若出栈序列为2,4,3,6,5,1,则操作过程中栈中元素个数最多时为()A.2个B.3个C.4个D.6个5.队列的特点是()A.允许在表的任何位置进行插入和删除B.只允许在表的一端进行插入和删除C.允许在表的两端进行插入和删除D.只允许在表的一端进行插入,在另一端进行删除6.一个链串的结点类型定义为﹟define NodeSize 6typedef struct node{char data[NodeSize];struct node*next;}LinkStrNode;如果每个字符占1个字节,指针占2个字节,该链串的存储密度为()A.1/3B.1/2C.2/3D.3/47.广义表A=(a,B,(a,B,(a,B,……)))的长度为()A.1B.2C.3D.无限值8.已知10×12的二维数组A,按“行优先顺序”存储,每个元素占1个存储单元,已知A[1][1]的存储地址为420,则A[5][5]的存储地址为()A.470B.471C.472D.4739.在一棵二叉树中,度为2的结点数为15,度为1的结点数为3,则叶子结点数为()A.12B.16C.18D.2010.在带权图的最短路径问题中,路径长度是指()A.路径上的顶点数B.路径上的边数C.路径上的顶点数与边数之和D.路径上各边的权值之和11.具有n个顶点、e条边的无向图的邻接矩阵中,零元素的个数为()A.eB.2eC.n2-2eD.n2-112.要以O(n log n)时间复杂度进行稳定的排序,可用的排序方法是()A.归并排序B.快速排序C.堆排序D.冒泡排序13.若希望在1000个无序元素中尽快求得前10个最大元素,应借用()A.堆排序B.快速排序1 / 6C.冒泡排序D.归并排序14.对有序表进行二分查找成功时,元素比较的次数()A.仅与表中元素的值有关B.仅与表的长度和被查元素的位置有关C.仅与被查元素的值有关D.仅与表中元素按升序或降序排列有关15.散列文件是一种()A.顺序存取的文件B.随机存取的文件C.索引存取的文件D.索引顺序存取的文件二、填空题(本大题共10小题,每小题2分,共20分)16.若一个算法中的语句频度之和为T(n)=3n3-200nlog2n+50n,则该算法的渐近时间复杂度为__________.17.在单链表中,除了第1个元素结点外,任一结点的存储位置均由_____________指示。

2011山西省数据结构(C++)试题及答案

2011山西省数据结构(C++)试题及答案

1、下列序列中,执行第一趟快速排序后得到的序列是( A )。

A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]2、在一个单链表中,已知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;3、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。

A)顺序表示法 B)单字符为结点的单链表表示法C)等量分块表示法 D)不等量分块表示法4、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。

A)顺序表示法 B)单字符为结点的单链表表示法C)等量分块表示法 D)不等量分块表示法5、队列的操作的原则是( A )。

A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除6、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一C)不含回路 D)有n条边7、向一个栈顶指针为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、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。

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

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

数据结构课后习题第2章

数据结构课后习题第2章

2. 指针 P 指向不带头结点的线性链表 L 的首元素的条件是( )。
A.P= =L
C.P-﹥next==L
B.L-﹥Next==P
D.P-﹥next==NULL
3. 指针 p 指向带头结点的单循环链表 L 的首元素的条件是( )。
A.P= =L
C.P-﹥next==L
B.L-﹥Next==P
D.P-﹥next==NULL
网络工程 2011 级 1 班、计算机科学与技术 2011 级 2 班《算法与数据结构》课后习题(第 2 章)
2011 级 计科 (网工)
题号
得分

【课后习题】第 2 章 线性表
班 学号:
一、判断题(如果正确,在题号前打“”,否则打“”。每题 2 分,共 10 分)

( ) 1. 线性表若采用顺序存储表示时所有结点之间的存储单元地址必须连续。 ( ) 2. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 ( ) 3. 如果某个数据结构的每一个元素都是最多只有一个直接前驱,则必为线性结构。 ( ) 4. 线性表的逻辑顺序与物理顺序总是一致的。 ( ) 5. 线性表的长度是指它所占存储空间的大小。
二、填空题(每空 1.5 分,共 21 分)
1. 从逻辑结构看,线性表是典型的
2. 在一个长度为 n 的向量中在第 i(1≤i≤n+1)个元素之前插入一个元素时,需向后移动
个元素,算法的时间复杂度为
3. 在一个长度为 n 的向量中删除第 i(1≤i≤n)个元素时,需向前移动
算法的时间复杂度为


4. 若长度为 n 的线性表采用链式存储结构,在其第 i 个结点前插入一个新的元素的算法的

青岛理工大学2011年数据结构A卷考试题答案

青岛理工大学2011年数据结构A卷考试题答案

2010~_2011_学年第 2 学期数据结构课程试卷标准答案及评分标准A( √ )/B( ) 卷专业计算机科学与技术、软件、网络班级计算091-3、网络091-2、软件091-2 一、单项选择题(1*30=30分)1A 2D 3D 4B 5B 6C 7C 8D 9A 10B 11B 12A 13C 14B 15B 16B 17A18B 19C 20C 21B 22C 23B 24D 25B 26C 27A 28B 29B 30B二、判断题(1*10=10分)1 × 2√ 3 × 4 √ 5 × 6√ 7× 8 × 9 × 10×三、综合题(45分)1.二叉排序树如下所示:(8分)查找成功情况下的平均查找长度为:(1+2*2+3*2+4*2+5*3+6*2)/12=23/62.二叉树为:(5分)线索二叉树(5分)红色带箭头的为线索3.哈夫曼树如下(5分)带权路径长度为:WPL=(4+6+8+10)*4+(15+20)*3+(23+35)*2=333 (2分)成功查找情况下的平均查找长度为:ASL=(10*1+3*3)/13=19/135.(1)邻接表如下(2分)(2)深度优先遍历序列:1,2,3,4,5(2分)广度优先遍历序列:1,2,4,5,3(2分)(3)最小生成树:(2分)最小生成树各边上的权值之和为:10五、算法设计题(7+8=15分)1.(共7分)void MergeList_L(LinkList &HA,LinkList &HB,LinkList &HC){ //按值递增排序的单链表LA,LB,归并为LC后也按值递增排序pa=HA-->next; pb=HB-->next; Lc=pc=HA; //初始化(1分)while(pa&&pb) //将pa 、pb结点按大小依次插入C中{ if(pa->data<=pb->data) (1分){pc->next=pa; pc=pa; pa=pa->next;} (2分) else {pc->next=pb; pc=pb; pb=pb->next} (2分) }pc->next = pa?pa:pb ; //插入剩余段(1分)free(HB); //释放Lb的头结点} //MergeList_L2.二叉链表存储的二叉树的层次遍历的算法:(共8分)void BFSTraverse(BiTree T) {InitQueue(Q); // 置空的辅助队列Qif (T) EnQueue(Q, T); // 根结点入队列(1分)while (!QueueEmpty(Q)) { (1分)DeQueue(Q, p); // 队头元素出队并置为p (1分)Visit(p); (1分)if (p->Lchild)EnQueue(Q, p->Lchild); // 左子树根入队列(2分)if (p->Rchild)EnQueue(Q, p->Rchild); // 右子树根入队列(2分)} // while}。

2011数据结构试卷A

2011数据结构试卷A

11、具有12个关键字的有序表,折半查找的平均查找长度为()。

A.3.1 B.4 C.2.5 D.512、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()。

A.(N+1)/2 B.N/2 C.N D.[(1+N)×N ]/213、在下列排序算法中,()算法的时间复杂度与初始排序无关。

A.直接插入排序B.冒泡排序C.快速排序D.直接选择排序14、对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15},则采用的是()排序。

A.选择B.快速C.希尔D.冒泡15、有一组数据(15,9,7,8,20,-1,7,4),用堆排序的筛选方法建立的初始堆为()。

A.-1,4,8,9,20,7,15,7 B.-1,7,15,7,4,8,20,9C.-1,4,7,8,20,15,7,9 D.A,B,C均不对二、判断题(每空1分,共10分)1、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。

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

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

()4、循环队列也存在空间溢出问题。

()5、一个稀疏矩阵A m*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,就完成了A m*n的转置运算。

()6、对一棵二叉树进行层次遍历时,应借助于一个栈。

()7、在任意一棵非空二叉排序树,删除某结点后又将其插入,则所得二叉排序树与删除前原二叉排序树相同。

()8、一个有向图的邻接表和逆邻接表中结点的个数可能不等。

()9、当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。

()10、在9阶B-树中,除叶子以外的任意结点的分支数介于5和9之间。

()三、填空题(每空1分,共10分)1、数据结构中评价算法的两个重要指标是_______。

2011年数据结构A卷考试题

2011年数据结构A卷考试题
3.折半查找只适合用于有序表,包括有序的顺序表和有序的链表。( )
4.栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。()
5.在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要n-1条弧。()
6.在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。
30.对基本有序的n个记录的表作快速排序算法的时间复杂度是(B)。
A.O(n) B.O(n2) C.O(nlogn) D.O(n3)
二、判断题(1*10=10分)
1.算法的时间复杂度是问题规模的函数,与输入的初始状态无关。()
2.链表是采用链式存储结构的线性表,进行插ห้องสมุดไป่ตู้、删除操作时,在链表中比在顺序存储结构中效率高。( )
五、算法设计题(7+8=15分)
1.已知两个整数集合A和B,它们的元素分别依元素值递增有序存放在两个单链表HA和HB中,编写一个函数求出这两个集合的并集C,并要求表示集合C的链表的结点仍按照元素值递增有序存放且使用原空间。
2.试用队列结构实现二叉链表存储的二叉树的层次遍历的算法。
青岛理工大学试卷纸A共6页第4页
()
7.对一棵二叉排序树按先序方法遍历得出的结点序列是从小到大的序列。( )
8.在n个结点的无向图中,若边数大于n-1,则该图必是连通图。()
9.在AOE图中,关键路径上某个活动的时间缩短,整个工程的时间也就必定缩短。()
10.一棵有n个结点的二叉树,从上到下,从左到右用自然数依次给予编号,则编号为i的结点的左儿子的编号为2i(2i< n),右儿子是2i+1(2i+1<n)。()
16.用邻接表存储的图进行广度优先遍历时,通常是采用(B)结构来实现算法的。

全国2011年1月高等教育自学考试数据结构试题及答案

全国2011年1月高等教育自学考试数据结构试题及答案

全国2011年1月高等教育自学考试数据结构试题(课程代码:02331)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列选项中与数据存储结构无关的术语是()A.顺序表B.链表C.链队列D.栈2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是()A.n-1B.nC.2n-1D.2n3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是()A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是()A.堆栈B.多维数组C.队列D.线性表5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为()A.求子串B.串联接C.串匹配D.求串长6.对于广义表A,若head(A)等于tail(A),则表A为()A.( )B.(( ))C.(( ),( ))D.(( ),( ),( ))7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是()A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是()A.4B.5C.7D.89.下列叙述中错误的是()A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次B.图的遍历可以采用深度优先遍历和广度优先遍历C.图的广度优先遍历只适用于无向图D.图的深度优先遍历是一个递归过程10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={<V1,V2>,<V1,V3>,<V2,V3>,<V2,V4>,<V3,V4>},图G的拓扑序列是()A.V1,V2,V3,V4B.V1,V3,V2,V4C.V1,V3,V4,V2D.V1,V2,V4,V311.平均时间复杂度为O(n log n)的稳定排序算法是()A.快速排序B.堆排序C.归并排序D.冒泡排序12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是()A.(18,22,30,46,51,68,75,83)B.(30,18,22,46,51,75,83,68)C.(46,30,22,18,51,75,68,83)D.(30,22,18,46,51,75,68,83)13.某索引顺序表共有元素395个,平均分成5块。

2011数据结构模拟真题2

2011数据结构模拟真题2

一、选择题1. 评价一个算法时间性能的主要标准是(D )。

A、算法易于调试B、算法易于理解C、算法的稳定性和正确性D、算法的时间复杂度2. 计算机算法具备有输入、输出、(B )等五个特性。

A、可行性、可移植性和可扩充性B、可行性、确定性和有穷性C、确定性、有穷性和稳定性D、易读性、稳定性和安全性3. 带头结点的单链表head为空的判定条件是(B )。

A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL4. 以下关于线性表的说法不正确的是( C)。

A、线性表中的数据元素可以是数字、字符、记录等不同类型。

B、线性表中包含的数据元素个数不是任意的。

C、线性表中的每个结点都有且只有一个直接前趋和直接后继。

D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。

5. 在顺序表中,只要知道(D ),就可在相同时间内求出任一结点的存储地址。

A、基地址B、结点大小C、向量大小D、基地址和结点大小6. ( C)运算中,使用顺序表比链表好。

A、插入B、删除C、根据序号查找D、根据元素值查找7. 一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动(B)个元素。

A、n-iB、n-i+1C、n-i-1D、i8. (D )适合作为经常在首尾两端操作线性表的存储结构。

A、顺序表B、单链表C、循环链表D、双向链表9. 栈和队列的共同点是(C)A、都是先进后出B、都是先进先出C、只允许在端点处插入和删除元素D、没有共同点10. 一个队列的入列序列是1 2 3 4,则队列的输出序列是(B )。

A、4 3 2 1B、1 2 3 4C、1 4 3 2D、3 2 4 111. 队列与一般的线性表的区别在于(D )。

A、数据元素的类型不同B、运算是否受限制C、数据元素的个数不同D、逻辑结构不同12. “假上溢”现象会出现在(C )中。

A、循环队列B、队列C、链队列D、顺序队列二、填空题1.数据的逻辑结构被分为集合、线性结构、树形结构和图结构。

2011年自考数据结构课后习题答案_黄刘生

2011年自考数据结构课后习题答案_黄刘生

第一章绪论1.1 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。

● 数据:指能够被计算机识别、存储和加工处理的信息载体。

● 数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。

数据元素有时可以由若干数据项组成。

● 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。

通常数据类型可以看作是程序设计语言中已实现的数据结构。

● 数据结构:指的是数据之间的相互关系,即数据的组织形式。

一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。

● 逻辑结构:指数据元素之间的逻辑关系。

● 存储结构:数据元素及其关系在计算机存储器内的表示,称为数据的存储结构.● 线性结构:数据逻辑结构中的一类。

它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都有且只有一个直接前趋和一个直接后继。

线性表就是一个典型的线性结构。

栈、队列、串等都是线性结构。

● 非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。

数组、广义表、树和图等数据结构都是非线性结构。

1.2 试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。

答:例如有一张学生体检情况登记表,记录了一个班的学生的身高、体重等各项体检信息。

这张登记表中,每个学生的各项体检信息排在一行上。

这个表就是一个数据结构。

每个记录(有姓名,学号,身高和体重等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。

这几个关系就确定了这个表的逻辑结构是线性结构。

这个表中的数据如何存储到计算机里,并且如何表示数据元素之间的关系呢? 即用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题。

2011级数据结构试卷A及答案 - 副本 (2)

2011级数据结构试卷A及答案 - 副本 (2)

accesses.(C) Eliminate the recursive calls. (D) Reduce main memory use.(7) Given an array as A[m] [n]. Supposed that A [0] [0] is located at 644(10) and A [2][2] is stored at 676(10), and every element occupies one space. “(10)” means that thenumber is presented in decimals. Then the element A [1] [1](10) is at position:( D)(A) 692 (B) 695 (C) 650 (D) 660(8) If there is 1MB working memory, 4KB blocks, and yield 128 blocks for workingmemory. By the multi-way merge in external sorting, the average run size and the sorted size in one pass of multi-way merge on average are separately ( C)?(A) 1MB, 128 MB (B) 2MB, 512MB(C) 2MB, 256MB (D) 1MB, 256MB(9) In the following sorting algorithms, which is the best one to find the first 10biggest elements in the 1000 unsorted elements? ( B )(A) Quick-sort (B) Heap sort(C ) Insertion sort (D) Replacement selection(10) Assume that we have eight records, with key values A to H, and that they areinitially placed in alphabetical order. Now, consider the result of applying the following access pattern: F D F G E G F A D F G E if the list is organized by the Move-to-front heuristic, then the final list will be ( B).(A)F G D E A B C H (B) E G F D A B C H(C) A B F D G E C H (D) E G F A C B D H2. Fill the blank with correct C++ codes: (16 scores)(1)Given an array storing integers ordered by distinct value without duplicate, modify the binarysearch routines to return the position of the integer with the greatest value less than K when K itself does not appear in the array. Return ERROR if the lest value in the array is greater than K:(10 scores)// Return position of greatest element < Kint newbinary(int array[], int n, int K) {int l = -1;int r = n; // l and r beyond array boundswhile (l+1 != r) { // Stop when l and r meet___ int i=(l+r)/2_____;// Look at middle of subarrayif (K < array[i]) __ r=i ___; // In left halfif (K == array[i]) return i ; // Found itif (K > array[i]) ___ l=i ___ // In right half}// K is not in array or the greatest value is less than Kif K> array[0] (or l!= -1)// the lest value in the array is greater than K with l updated return l ; // when K itself does not appear in the arrayelse return ERROR; // the integer with the lest value greater than K}(2) The number of nodes in a complete binary tree as big as possible with height h is 2h -1(suppose 1-node tree ’s height is 1) (3 scores)(3) The number of different shapes of binary trees with 6 nodes is _132. (3 scores)3. A certain binary tree has the post-order enumeration as EDCBIHJGFA and the in-order enumeration as EBDCAFIHGJ. Try to draw the binary tree and give the postorder enumeration. (The process of your solution is required!!!) (6 scores)preorder enumeration: ABECDFGHIJ4. Determine Θ for the following code fragments in the average case. Assume that all variables are of type int. (6 scores) (1) sum=0;for (i=0; i<5; i++) for (j=0; j<n; j++)sum++; solution : Θ___(n)_______(2) sum = 0;for(i=1;i<=n;i++) for(j=n;j>=i;j--)sum++; solution : Θ__(n 2)________(3) sum=0;if (EVEN(n))for (i=0; i<n; i++) sum++; elsesum=sum+n; solution : Θ___(n)_____5. Show the min-heap that results from running buildheap on the following values stored in an array: 4, 2, 5, 8, 3, 6, 10, 14. (6 scores)6. Design an algorithm to transfer the score report from 100-point to 5-point , the level E corresponding score<60, 60~69 being D, 70~79 being C, 80~89 as B ,score>=90 as A. The distribution table is as following. Please describe your algorithm using a decision tree and give the total path length. (9 scores)Score in 100-point 0-59 60-69 70-79 80-89 90-100 Distribution rate5%10%45%35%5%solution:the design logic is to build a Huffman treeTotal length: 4 * 10% +10% * 3 + 15 %* 3 + 35% * 2 + 45% = 2.25, the 0-false,1-true as thelogic branches.7. Assume a disk drive is configured as follows. The total storage is approximately 675M divided among 15 surfaces. Each surface has 612 tracks; there are 144 sectors/track, 512 byte/sector, and 16 sectors/cluster. The interleaving factor is 3. The disk turns at 7200rmp (8.3ms/r). The track-to-track seek time is 20 ms, and the average seek time is 80 ms. Now how long does it take to read all of the data in a 360 KB file on the disk? Assume that the file ’s clusters are spread randomly across the disk. A seek must be performed each time the I/O reader moves to a new track. Show your calculations. (The process of your solution is required!!!) (9 scores) Solution :A cluster holds 16*0.5K = 8K. Thus, the file requires 360/8=45clusters.The time to read a cluster is seek time to the cluster+ latency time + (interleaf factor × rotation time).Average seek time is defined to be 80 ms. Latency time is 0.5 *8.3, and cluster rotation time is 3 * (16/144)*8.3.Seek time for the total file read time is 45* (80 + 0.5 * 8.3+ 3 * (16/144)*8.3 ) = 3911.258. Using closed hashing, with double hashing to resolve collisions, insert the following keys into a hash table of eleven slots (the slots are numbered 0 through 10). The hash functions to be used are H1 and H2, defined below. You should show the hash table after all eight keys have been inserted. Be sure to indicate how you areusing H1 and H2 to do the hashing. ( The process of your solution is required!!!) H1(k) = 3k mod 11 H2(k) = 7k mod 10+1Keys: 22, 41, 53, 46, 30, 13, 1, 67.(9 scores)Solution :H1(22)=0, H1(41)=2, H1(53)=5, H1(46)=6, no conflictWhen H1(30)=2, H2(30)=1 (2+1*1)%11=3,so 30 enters the 3rd slot; H1(13)=6, H2(13)=2 (6+1*2)%11=8, so 13 enters the 8th slot;H1(1)=3, H2(1)=8 (3+5*8)%11= 10 so 1 enters 10 (pass by 0, 8, 5, 2 );9. You are given a series of records whose keys are chars. The records arrive in the following order: C, S, D, T, A, M, P, I, B, W, N, G , U, R. Show the 2-3 tree that results from inserting these records. (the process of your solution is required!!!) (9 scores) Solution :MSBD PU A C GI N R T W 10.The following graph is a communication network in some area, whose edge presents the channel between two cities with the weight as the channel ’s cost. How to choose the cheapest path that can connect all cities? And how to get cheapest paths scores)Solution :1,C to A: 4 (C,A); CF: 5(C,F); CD: 6(C,A,D); CB: 12(C,A,D,B); CG:11 (C,F,G); CE: 13(C,A,D,B,E)2. Draw the MST: It is a Hamilton path.。

2011山西省数据结构与算法试题及答案

2011山西省数据结构与算法试题及答案
B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
4、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
24、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
39、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
33、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
34、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)路径 D)弧
37、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
38、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
26、线性表的链接实现有利于( A )运算。

2011年陕西省数据结构试题集(10套题并附带答案)试题及答案

2011年陕西省数据结构试题集(10套题并附带答案)试题及答案
6、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
7、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
A 顺序表 B单链表 C 双链表 D单循环链表
35、如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
A.单链表 B.双链表 C.单循环链表 D. 顺序表
36、如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
40、在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
41、以下说法正确的是 D 。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
A.单链表 B.双链表 C.单循环链表 D. 顺序表
11、深度为k的完全二叉树至多有( )个结点
A B C D
12、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1
A.n—i B.n—i—l C.i D.i+1
39、不带头结点的单链表head为空的判定条件是 A 。
A.head == NULL B head->next ==NULL
C.head->next ==head D head!=NULL
C)4,2,3,1 D)2,3,4,1

2011年数据结构试卷课件

2011年数据结构试卷课件

中南民族大学2007—2008学年第 2 学期 期末考试试卷 课程名称:数据结构 试卷类型:A 卷 共14页 考试形式:闭卷考试使用范围:电信 学院(系) 2007 年级 所有 专业 本科A -1 共 14 页…………………………密……………………封……………………线……………………………学院 专业 级 学 姓一、判断题(每题1分,共10分)1. 头指针head 指向的带头结点的单链表(该链表至少有1个结点)中,第一个结点的地址即为head->next 。

( )2. 头指针head 指向的带头结点的单链表不为空的判断条件是head->next->next != NULL 。

( )3. 在单链表中必须使某指针指向某个结点才能将该结点删除。

( )4. 在单链表中,删除一个结点之前必须让某指针指向该结点。

( )5. 一般情况下,顺序栈中元素存满时,栈顶指针将不指向栈中存放的任何元素。

( )6. 一般情况下,顺序栈中的栈顶指针不可能指向栈分配空间以外的内存区域。

( )7. 循环队列中,主要通过“队尾指针”下一个位置等于“队头指针”,即rear = = front + 1,来判断队列为满。

( )注意事项:1. 考生将姓名、学号等信息写在试卷相应位置;2. 必须使用蓝(黑)色钢笔或签字笔在规定位置答题;3. 注意字迹清楚,保持卷面整洁。

A -2 共 14 页A8. 循环队列中,判断队列为满时“队尾指针”一定指向“队头指针”下一个位置,即rear = = front + 1。

( )9. 堆分配是串的一种链式存储结构。

( ) 10. 堆分配是串的一种顺序存储结构。

( )11. “求子串”得到的结果是子串在主串中第一次出现的位置。

( ) 12. “求子串”得到的结果是子串在主串中第一次出现的位置。

( )13. 一般情况下,n ×n 的三角矩阵压缩存储需要122n 个存储单元。

( ) 14. 一般情况下,三角矩阵压缩存储后存放元素的个数,等于压缩前元素个数的一半再加一。

考研 数据结构试题(含答案)

考研 数据结构试题(含答案)

我以一名大学生的人格尊严保证,在本场考试中,自觉遵守考试纪律,服从考试管理,决不作弊或帮助别人作弊!签名:学院专业学号级班··················密···················封·····················线··················命题人签字:系主任签字:审核院长签字:共印份数:第1页共6页聊城大学计算机学院2012—2013学年第1学期期末考试2011级《数据结构》试题(闭卷B卷)一、单项选择题(共15题,每题2分,共30分)1.研究数据结构就是研究(D )。

A.数据的逻辑结构B.数据的存储结构C.数据的逻辑结构和存储结构D.数据的逻辑结构、存储结构及其基本操作2.在数据结构中,从逻辑上可以把数据结构分为(C )。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构3.算法分析的两个主要方面是(A )。

A.空间复杂度和时间复杂度B.正确性和简单性C.可读性和文档性D.数据复杂性和程序复杂性4.下面程序段的时间复杂度是( C )。

2011年甘肃省数据结构试题集(10套题并附带答案)考资料

2011年甘肃省数据结构试题集(10套题并附带答案)考资料
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
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
43、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
40、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
A.top=top+1;V[top]=x B.V[top]=x;top=top+1
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
26、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
C)DEBFGCA D)GFCEBDA
A.n—i B.n—i—l C.i D.i+1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.数据的四种存储结构是( )A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构2.若对某线性表最常用的操作是在最后一个结点之后插入一个新结点或删除最后一个结点,要使操作时间最少,下列选项中,应选择的存储结构是( )A.无头结点的单向链表B.带头结点的单向链表C.带头结点的双循环链表D.带头结点的单循环链表3.若带头结点的单链表的头指针为head,则判断链表是否为空的条件是( )A.head=NULLB.head->next=NULLC.head!=NULLD.head->next!=head7.若一棵二叉树的前序遍历序列与后序遍历序列相同,则该二叉树可能的形状是( )A.树中没有度为2的结点B.树中只有一个根结点C.树中非叶结点均只有左子树D.树中非叶结点均只有右子树8.若根结点的层数为1,则具有n个结点的二叉树的最大高度是( )A.nB.C. +1D.n/29.在图G中求最小生成树可以采用的算法是( )A.迪杰斯特拉(Dijkstra)算法B.克鲁斯卡尔(Kruskal)算法C.深度优先遍历(DFS)算法D.广度优先遍历(BFS)算法10.下图G=(V,E)是一个带权连通图,G的最小生成树的权为( )A.15B.16C.17D.1811.在下图中,从顶点1出发进行深度优先遍历可得到的序列是( )A.1 2 3 4 5 6 7B.1 4 2 6 3 7 5C.1 4 2 5 3 6 7D.1 2 4 6 5 3 712.如果在排序过程中不改变关键字相同元素的相对位置,则认为该排序方法是( )A.不稳定的B.稳定的C.基于交换的D.基于选择的13.设有一组关键字(19, 14, 23, 1,6,20, 4,27, 5,11, 10, 9),用散列函数H(key)=key%13构造散列表,用拉链法解决冲突,散列地址为1的链中记录个数为( )A.1B.2C.3D.414.已知二叉树结点关键字类型为字符,下列二叉树中符合二叉排序树性质的是( )16.下面程序段的时间复杂度为___________。

sum=1;for(i=0;sum<n;i++)sum+=1;18.使用一个100个元素的数组存储循环队列,如果采取少用一个元素空间的方法来区别循环队列的队空和队满,约定队头指针front等于队尾指针rear时表示队空。

若为front=8,rear=7,则队列中的元素个数为___________。

19.3个结点可以组成___________种不同树型的二叉树。

20.用5个权值{3, 2,4,5,1}构造的哈夫曼(Huffman)树的带权路径长度是___________。

21.若无向图G中有n个顶点m条边,采用邻接矩阵存储,则该矩阵中非0元素的个数为___________。

22.影响排序效率的两个因素是关键字的___________次数和记录的移动次数。

24.若两个关键字通过散列函数映射到同一个散列地址,这种现象称为___________。

26.要在[0..n-l]的向量空间中建立两个栈stackl和stack2,请回答:(1)应该如何设计这两个栈才能充分利用整个向量空间?(2)若stackl的栈顶指针为topl,stack2的栈顶指针为top2,如果需要充分利用整个向量空间,则:栈stackl空的条件是:___________;栈stack2空的条件是:___________;栈stackl和栈stack2满的条件是:___________。

28.已知二叉树如下:请画出该二叉树对应的森林。

29.请回答下列问题:(1)英文缩写DAG的中文含义是什么?(2)请给出下面DAG图的全部拓扑排序。

30.已知线性表(a1,a2,a3...,an)按顺序存放在数组a中,每个元素均为整数,下列程序的功能是将所有小于0的元素移到全部大于等于0的元素之前。

例如,有7个整数的原始序列为(x,x,-x,-x,x,x,-x),变换后数组中保存的序列是(-x,-x,-x,x,x,x,x)。

请在程序处填入合适的内容,使其成为完整的算法。

f30(int a[],int n){ int k,m,temp;m= (1) ;while (a[m]<0 &&m<n)m= (2) ;k=m;while (k<n){ while(a[k]>=0&&k<n)k= (3) ;if(k<n){ temp=a[k];a[k]=a[m];a[m]= (4) ;m= (5) ;}}}33.设有单链表类型定义如下:typedef struct node {int data;struct node *next;} *LinkList;阅读下列算法,并回答问题:void f33(LinkList head, int A, int B){LinkList p=NULL;While (head !=NULL){if (head->data>A&&head->data<B)p=head;head=head->next;}if (p !=NULL)printf("%d\n",p->data);}(1)已知链表h如下图所示,给出执行f33(h,5,8)之后的输出结果;(2)简述算法f33的功能。

1.下列选项中与数据存储结构无关的术语是()A.顺序表B.链表C.链队列D.栈2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是()A.n-1B.nC.2n-1D.2n3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是()A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是()A.堆栈B.多维数组C.队列D.线性表7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是()A.结点均无左孩子的二叉树B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是()A.4B.5C.7D.89.下列叙述中错误的是()A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次B.图的遍历可以采用深度优先遍历和广度优先遍历C.图的广度优先遍历只适用于无向图D.图的深度优先遍历是一个递归过程10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={<V1,V2>,<V1,V3>,<V2,V3>,<V2,V4>,<V3,V4>},图G的拓扑序列是()A.V1,V2,V3,V4B.V1,V3,V2,V4C.V1,V3,V4,V2D.V1,V2,V4,V311.平均时间复杂度为O(n log n)的稳定排序算法是()A.快速排序B.堆排序C.归并排序D.冒泡排序12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是()A.(18,22,30,46,51,68,75,83)B.(30,18,22,46,51,75,83,68)C.(46,30,22,18,51,75,68,83)D.(30,22,18,46,51,75,68,83)16.数据结构由数据的逻辑结构、存储结构和数据的____________三部分组成。

17.在单链表中某结点后插入一个新结点,需要修改_______________个结点指针域的值。

18.设栈S的初始状态为空,若元素a、b、c、d、e、f依次进栈,得到的出栈序列是b、d、c、f、e、a,则栈S的容量至少是________________。

19.长度为零的串称为________________。

22.一个有n个顶点的无向连通图,最少有________________条边。

23.当待排关键字序列基本有序时,快速排序、简单选择排序和直接插入排序三种排序方法中,运行效率最高的是________________。

24.在一棵深度为h的具有n个结点的二叉排序树中,查找任一结点的最多比较次数是______________。

26.已知一棵二叉排序树(结点值大小按字母顺序)的前序遍历序列为EBACDFHG,请回答下列问题:(1)画出此二叉排序树;(2)若将此二叉排序树看作森林的二叉链表存储,请画出对应的森林。

27.已知有向图的邻接表如图所示,请回答下面问题:(1)给出该图的邻接矩阵;(2)从结点A出发,写出该图的深度优先遍历序列。

28.已知待排记录的关键字序列为{25,96,11,63,57,78,44},请回答下列问题:(1)画出堆排序的初始堆(大根堆);(2)画出第二次重建堆之后的堆。

29.已知关键字序列为(56,23,41,79,38,62,18),用散列函数H(key)=key%11将其散列到散列表HT[0..10]中,采用线性探测法处理冲突。

请回答下列问题:(1)画出散列存储后的散列表:(2)求在等概率情况下查找成功的平均查找长度。

30.阅读下列程序。

void f30(int A[],int n)int i,j,m;for (i=1;i<n ;i++)for (j=0;j<i ;j++){m=A[i*n+j];A[i*n+j]=A[j*n+i];A[j*n+i]=m ;}}回答下列问题:(1)已知矩阵B=⎪⎪⎪⎭⎫ ⎝⎛9 8 7 6 5 4 3 2 1 ,将其按行优先存于一维数组A 中,给出执行函数调用f30(A ,3)后矩阵B 的值;(2)简述函数f30的功能。

31.假设以二叉链表表示二叉树,其类型定义如下:typedef struct node {char data;struct node*Ichild, *rchild; ∥左右孩子指针} *BinTree ;阅读下列程序。

void f31(BinTree T){InitStack(S); ∥ 初始化一个堆栈Swhile (T || !StackEmpty(S){while (T){Push(S,T); T=T->lchild;}if (!StackEmpty(S)){T=Pop(S); printf(“%c ”,T->data); T=T->rchild;}}}回答下列问题:(1)已知以T为根指针的二叉树如图所示,请写出执行f31(T)的输出结果:(2)简述算法f31的功能。

相关文档
最新文档