数据结构2011年1月答案

合集下载

2011湖北省JAVA版数据结构试题及答案

2011湖北省JAVA版数据结构试题及答案
A)13 B)33 C)18 D)40
42、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
37、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
35、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
6、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
7、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
10、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
11、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。

数据结构导论2011年01真题和答案

数据结构导论2011年01真题和答案

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

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

1.在顺序表中查找第i个元素,时间效率最高的算法的时间复杂度为( )A.O(1)B.O(n)C.O(log2n)D.O(n)2.树形结构中,度为0的结点称为( )A.树根B.叶子C.路径D.二叉树3.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,,<V6,V7>},则图G的拓扑序列是( )A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V4,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V74.有关图中路径的定义,表述正确的是( )A.路径是顶点和相邻顶点偶对构成的边所形成的序列B.路径是不同顶点所形成的序列C.路径是不同边所形成的序列D.路径是不同顶点和不同边所形成的集合5.串的长度是指( )A.串中所含不同字母的个数B.串中所含字符的个数C.串中所含不同字符的个数D.串中所含非空格字符的个数6.组成数据的基本单位是( )A.数据项B.数据类型C.数据元素D.数据变量7.程序段i=n;x=0;do{x=x+5*i;i--;}while (i>0);的时间复杂度为( )A.O(1)B.O(n)C.O(n2)D.O(n3)8.与串的逻辑结构不同的...数据结构是( )A.线性表B.栈C.队列D.树9.二叉树的第i(i≥1)层上所拥有的结点个数最多为( )A.2iB.2iC.2i-1D.2i-110.设单链表中指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为( )全国2011年1月自学考试数据结构导论试题和答案 1A.p->next=p->next->nextB.p=p->nextC.p=p->next->nextD.p->next=p11.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )A.堆排序B.冒泡排序C.直接插入排序D.快速排序12.设字符串S1=″ABCDEFG″,S2=″PQRST″,则运算S=CONCAT(SUBSTR(S1,2,LENGTH(S2)),SUBSTR(S1,LENGTH(S2),2))后S的结果为( )A.″BCQR″B.″BCDEF″C.″BCDEFG″D.″BCDEFEF″13.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并且A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则使其平衡的调整方法为( )A.LL型B.LR型C.RL型D.RR型14.如果结点A有3个兄弟结点,而且B为A的双亲,则B的度为( )A.1B.3C.4D.515.数据表A中每个元素距其最终位置较近,则最省时间的排序算法是( )A.堆排序B.插入排序C.直接选择排序D.快速排序二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。

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浙江省数据结构与算法试题及答案

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、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。

A) Head(Head(Tail(Tail(L))))B) Tail(Head(Head(Tail(L))))C) Head(Tail(Head(Tail(L))))D)Head(Tail(Head(Tail(Tail(L)))))3、已知栈的最大容量为4。

若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。

A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,34、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。

A)top不变 B)top=0 C)top-- D)top++5、栈进行插入和删除操作的特点是( A )。

A)LIFO B)FIFOC)FCFS D)HPF6、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。

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

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

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

7、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。

A)p->next=p->next->next; B) p=p->next;C)p=p->next->next; D) p->next=p;8、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。

2011年山东省数据结构试题及答案必过技巧

2011年山东省数据结构试题及答案必过技巧

7、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
8、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1) B.O(n)
C.O(1Ogzn) D.O(n2)
25、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
26、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
A 6 B 7 C 8 D 9
33、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1
C)4,2,3,1 D)2,3,4,1
34、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为
48、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
49、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
A B C D
23、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=pLeabharlann p一>next=HL B. p一>next=HL;HL=p3
C. p一>next=Hl;p=HL;
A.n—l条有向边 B.n条有向边

2011四川省JAVA版数据结构试题及答案

2011四川省JAVA版数据结构试题及答案

26、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
27、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
30、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
A)LIFO B)FIF插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
19、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
20、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
24、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
10、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A

2011河北省数据结构试题及答案

2011河北省数据结构试题及答案

1、以下属于顺序存储结构优点的是( A )。

A) 存储密度大B) 插入运算方便C)删除运算方便D)可方便地用于各种逻辑结构的存储表示2、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。

A)9 B)11 C)15 D)不能确定3、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面4、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构5、队列的操作的原则是( A )。

A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除6、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)17、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。

A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p8、队列的操作的原则是( A )。

A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除9、下面程序段的时间复杂度是( A )。

s =0;for( i =0; i<n; i++)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)10、与无向图相关的术语有( C )。

A)强连通图 B)入度C)路径 D)弧11、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。

当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。

A) 4 B)3 C)2 D)1212、数据结构研究的内容是( D )。

2011年贵州省C++答案 数据结构试卷及答案考试技巧与口诀

2011年贵州省C++答案 数据结构试卷及答案考试技巧与口诀
C.对应顶点v的入度
D.依附于对应顶点v的边数
8、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
9、如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
C.{51,25,66,108,98,82}
D.{51,25,66,82,98,108}
7、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
22、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
23、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
27、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
28、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
29、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。

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

年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辽宁省JAVA版数据结构试题及答案

2011辽宁省JAVA版数据结构试题及答案
A)9 B)11 C)15 D)不能确定
23、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
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)
3、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
C) 双链表 D) 仅有尾指针的单循环链表
29、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
30、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
20、下列序列中,执行第一趟快速排序后得到的序列是( 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]
21、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
22、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。

中国地质大学2011数据结构试卷及其答案-(1)

中国地质大学2011数据结构试卷及其答案-(1)
A.125436B.325641C.342165D.546231
5.若用数组A[60]存放循环队列的元素,已知头指针值为35,当前队列中有40个元素,则队列的尾指针值为( C )。约定头指针指向队头元素的前一个位置。
解答:(35+40)%60=15
A.75B.20C.15D.5
6.深度为6的完全二叉树(根结点的深度为0)至少有(B)个结点。
答:
(1)描述算法的基本设计思想(3分)
设置遍历指针p和计数器j,以及指向偶数项表尾的指针。将偶数项从原表中删除,插在偶数项表尾。
(2)描述算法的详细实现步骤(4分)略
(3)根据设计思想和实现步骤,采用C语言描述算法,关键处请给出注释(5分)略
(4)算法时间复杂度:O(n).(1分)
A.32B.64C.127D.128
解答:第0-5层全满,第6层1个,1+2+4+8+16+32+1=64个。
7.将一棵森林F转换为孩子兄弟链表表示的二叉树T,则F的后根遍历是T的(B)。
A.前序遍历B.中序遍历C.后序遍历D.层序遍历
8.假设使用图的深度优先搜索DFS算法从根开始遍历一棵二叉树,先访问左子树再访问右子树,则访问结点的顺序相当于二叉树的(A)序列。
MON
TUE
SUN
【评分说明】所画的散列表长度正确(长度为10,下标从0到9),给1分。填写关键字正确,每个给1分。考生可以不写出计算过程。若解答部分正确,酌情给分。
(2)查找成功的平均查找长度:(2分)
因为查找长度为1的关键字有4个,查找长度为2的关键字有1个,查找长度为3的关键字有2个,所以查找成功的平均查找长度:
(3)根据设计思想和实现步骤,采用C语言描述算法,关键处请给出注释(5分)略

2011山西省数据结构基础试题及答案

2011山西省数据结构基础试题及答案

1、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。

A) Head(Head(Tail(Tail(L))))B) Tail(Head(Head(Tail(L))))C) Head(Tail(Head(Tail(L))))D)Head(Tail(Head(Tail(Tail(L)))))2、链式存储的存储结构所占存储空间( A )。

A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数3、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。

这样的排序方法是( A )。

A)直接选择排序 B)直接插入排序C)快速排序 D)起泡排序4、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构5、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一C)不含回路 D)有n条边6、链式存储的存储结构所占存储空间( A )。

A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数7、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A) 单链表 B) 仅有头指针的单循环链表C) 双链表 D) 仅有尾指针的单循环链表8、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。

这样的排序方法是( A )。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2011级本科数据结构与算法习题答案

2011级本科数据结构与算法习题答案

第2章线性表2.算法设计题(1)将两个递增的有序链表合并为一个递增的有序链表。

要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。

表中不允许有重复的数据。

void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){pa=La->next; pb=Lb->next;Lc=pc=La; //用La的头结点作为Lc的头结点while(pa && pb){if(pa->data<pb->data){ pc->next=pa;pc=pa;pa=pa->next;}else if(pa->data>pb->data) {pc->next=pb; pc=pb; pb=pb->next;}else {// 相等时取La的元素,删除Lb的元素pc->next=pa;pc=pa;pa=pa->next;q=pb->next;delete pb ;pb =q;}}pc->next=pa?pa:pb; //插入剩余段delete Lb; //释放Lb的头结点}(2)将两个非递减的有序链表合并为一个非递增的有序链表。

要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。

表中允许有重复的数据。

void union(LinkList& La, LinkList& Lb, LinkList& Lc, ) {pa = La->next; pb = Lb->next; // 初始化Lc=pc=La; //用La的头结点作为Lc的头结点Lc->next = NULL;while ( pa || pb ) {if ( !pa ) { q = pb; pb = pb->next; }else if ( !pb ) { q = pa; pa = pa->next; }else if (pa->data <= pb->data ) { q = pa; pa = pa->next; }else { q = pb; pb = pb->next; }q->next = Lc->next; Lc->next = q; // 插入}delete Lb; //释放Lb的头结点}(3)已知两个链表A和B分别表示两个集合,其元素递增排列。

2011年湖南省C++答案 数据结构试卷及答案考试技巧重点

2011年湖南省C++答案 数据结构试卷及答案考试技巧重点
C.可读性和文档性 D.数据复杂性和程序复杂性
11、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
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
49、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
48、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
29、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
30、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
C.不必事先估计存储空间 D.所需空间与其长度成正比
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)

2011年云南省C++答案 数据结构试卷及答案考试技巧、答题原则

2011年云南省C++答案 数据结构试卷及答案考试技巧、答题原则
C.top=top一1;V[mp]=x D.V[top]=x;top=top—l
29、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
30、与单链表相比,双链表的优点之一是 D 。
36、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
37、在平衡二叉树中插入一个结点后造成不平衡,设最低的不平衡结点为A,并已知A的左孩子平衡因子为0,右孩子平衡因子为1,则应该做( )型调整以使其平衡
C.{102,93,55,60,89,24}
D.{102,60。89,93,55,24}
18、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
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
14、在数据结构中,与所使用的计算机无关的是数据的 A 结构。

2011-12数据结构_A_答案

2011-12数据结构_A_答案

2011--2012学年第 一 学期《数据结构》(A )答案一.选择题(每题2分,共30分)C B B B B D D C D C C B D C D 二.判断题(每题1分,共10分)错 对 错 对 错 对 错 对 对 对 三.填空题(每空1分,共10分)1. n(n-1)/2 n-12.先进后出(或后进先出)3. 2k-1,2k-1 4. 树型结构 5. 深度优先搜索 广度优先搜索 6.时间复杂度 空间复杂度 四.综合题1. 三元组表如下:(10分)先序遍历序列:ABDFGCEH 中序遍历序列:BFDGACEH 的序遍历序列:FGDBHECA3.(10分)huffman 树如图所示(要有过程,不能直接给出结果)骗码:A:000 B:001 C:01 D:10 E:11 4.最小生成树。

(10分)abcdefg8579345.排序过程(6分)K1 k2 k3 k4 k5 k6 k7 k8初始关键字: ( 49 38 65 97 76 13 27 4 ) i min 第一遍排序: 4 (38 65 97 76 13 27 49 ) i min第二次排序: 4 13 (65 97 76 38 27 49) i min第三次排序: 4 13 27 (97 76 38 65 49 )i min第四次排序: 4 13 27 38 (76 97 65 49 ) i min 第五次排序: 4 13 27 38 49 (97 65 76) i min 第六次排序: 4 13 27 38 49 65 (97 76 ) i min第七次排序: 4 13 27 38 49 65 76 (97 )6. Hash函数为:hash(key)=key mod 13(8分)经计算,地址分配如下所示:0 1 2 3 4 5 6 7 8 9 10 11 12。

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

全国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中首次出现位置的算法称为()p55A.求子串B.串联接C.串匹配D.求串长6.对于广义表A,若head(A)等于tail(A),则表A为()p66A.( )B.(( ))C.(( ),( ))D.(( ),( ),( ))7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是()A.结点均无左孩子的二叉树B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是()p73A.4B.5C.7D.89.下列叙述中错误的是()108A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次107B.图的遍历可以采用深度优先遍历和广度优先遍历108C.图的广度优先遍历只适用于无向图D.图的深度优先遍历是一个递归过程10810.已知有向图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)的稳定排序算法是()P164A.快速排序149 非稳定O(n log n)B.堆排序156非稳定C.归并排序D.冒泡排序143 稳定O(n2)12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是()←J →I(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块。

若先对索引表采用顺序查找,再对块中元素进行顺序查找,则在等概率情况下,分块查找成功的平均查找长度是()P174A.43B.79C.198D.20014.在含有10个关键字的3阶B-树中进行查找,至多访问的结点个数为()191A.2B.3C.4D.515.ISAM文件系统中采用多级索引的目的是()p213A.提高检索效率B.提高存储效率C.减少数据的冗余D.方便文件的修改二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

16.数据结构由数据的逻辑结构、存储结构和数据的____________三部分组成。

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

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

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

空串20.广义表G=(a,b,(c,d,(e,f)),G)的长度为________________。

4 p6721.一棵树T采用孩子兄弟链表存储,如果树T中某个结点为叶子结点,则该结点在二叉链表中所对应的结点一定是________________。

左右指针域均为空22.一个有n个顶点的无向连通图,最少有________________条边。

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

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

h25.不定长文件指的是文件的____________大小不固定。

记录的信息p207三、解答题(本大题共4小题,每小题5分,共20分)26.已知一棵二叉排序树(结点值大小按字母顺序)的前序遍历序列为EBACDFHG,请回答下列问题:(1)画出此二叉排序树;前序遍历序列:E B A CD F HG 中序遍历序列: A B CD E F GH(2)若将此二叉排序树看作森林的二叉链表存储,请画出对应的森林。

●抹线:将二叉树中根结点与其右孩子连线,及沿右分支搜索到的所有右孩子间连线全部抹掉,使之变成孤立的二叉树●还原:将孤立的二叉树还原成树●加线:若p结点是双亲结点的左孩子,则将p的右孩子,右孩子的右孩子,……沿分支找到的所有右孩子,都与p的双亲用线连起来●抹线:抹掉原二叉树中双亲与右孩子之间的连线●调整:将结点按层次排列,形成树结构27.已知有向图的邻接表如图所示,请回答下面问题:103、105 (1)给出该图的邻接矩阵;(2)从结点A 出发,写出该图的深度优先遍历序列。

深度优先遍历序列:A →B →C →E →D28.已知待排记录的关键字序列为{25,96,11,63,57,78,44},请回答下列问题: (1)画出堆排序的初始堆(大根堆);0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 01 0(2)画出第二次重建堆之后的堆。

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

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

202 (a 193) (1+1/(1-a))/2=15/8=1.725 a=7/11四、算法阅读题(本大题共4小题,每小题5分,共20分)30.阅读下列程序。

void f30(int A[], int n) {int i,j,m;for (i=1;i<n ;i++) 1、2for (j=0;j<i ;j++) n=3 i=2 j=1\0 {m=A[i*n+j];0 1 2 3 4 5 6 7 8 9 10A[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 的值; 一维数组A 原始值:B=⎪⎪⎪⎭⎫⎝⎛9 6 3 8 5 2 7 4 1(2)简述函数f30的功能。

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

void f31(BinTree T) {InitStack(S); ∥ 初始化一个堆栈S while (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)的输出结果:CBEDFAGH(2)简述算法f31的功能。

中序遍历二叉树32.阅读下列程序。

(改进的冒泡算法,通过增加M,减少无谓的比较)void f32( int a[],int n){int i,j,m=1,t;for (i=0;i<n-1&&m; i++){for (j=0;j<n;j++)printf("%d ",a[j]);printf("\n");m=0;for (j=1; j<n-i; j++)if (a[j-1]>a[j]){t=a[j-1];a[j-1]=a[j];a[j]=t;m=1;}}}回答问题:已知整型数组a[ ]={34,26,15,89,42},写出执行函数调用f32(a,5)后的输出结果。

34 26 15 89 4226 15 34 42 8915 26 34 42 8915 26 34 42 8933.已知顺序表的表结构定义如下:#define MAXLEN 100Typedef int KeyType;typedef struct{KeyType key;InfoType otherinfo;} NodeType;typedef NodeType SqList[MAXLEN];阅读下列程序。

Int f33(SqList R,NodeType X, int p, int q){ int m;if (p>q) return -1;m=(p+q)/2;if (R[m].key==X.key) return m;if (R[m].key>X.key) return f33(R,X,p,m-l);else return f33(R,X,m+l,q);}请回答下列问题:(1)若有序的顺序表R的关键字序列为(2,5,13,26,55,80,105),分别写出X.key=18和X.key=26时,执行函数调用f33(R,X,0,6)的函数返回值。

X.key=18执行函数调用f33(R,X,0,6)的函数返回值:-1X.key=26执行函数调用f33(R,X,0,6)的函数返回值:3(2)简述算法f33的功能。

相关文档
最新文档