2011本科数据结构试卷A试题

合集下载

2011年华南农业大学数据结构答案(A)

2011年华南农业大学数据结构答案(A)

华南农业大学期末考试答案(A 卷)2011-2012学年第 1 学期 考试科目: 数据结构 考试类型:(闭卷)考试 考试时间: 120 分钟一、选择题(本大题共 10 小题,每小题2分,共20分)二、应用题(本大题共 5 小题,每小题6分,共30分)1、参考答案:2、参考答案:(在队列的一端进入插入时,TOP 值会增加,在另一端删除,当判断TOP==MAX-1为“是”,这说明队已满。

但实际在队列的另一端还是有存储空间的,这就是“假溢出”。

)当front 0,rear=M 时,再有元素入队发生溢出,称之为“假溢出”,存储空间还有剩余。

为了改进这种状况,可以将顺序队列想象为一个首尾相接的环状空间,称之为循环队列。

“假溢出”现象和循环队列的数据结构基本上描述清楚就可以。

其中:循环队列的队空条件:front == rear队满条件:(Q.rear+1) % MAXQSIZE == Q.front 。

3、参考答案:哈夫曼树HT 的存储结构的初态 哈夫曼树HT 的存储结构的终态 I二叉树AD EB F CG H4、参考答案:ASL=(1*6+2*4+3+4)/12=1.755、参考答案:(1)一趟希尔排序:12,2,10,20,6,18,4,16,30,8,28(D=5);(2)一趟快速排序:6,2,10,4,8,12,28,30,20,16,18。

三、程序填空题(本大题5小题,共15个空白处,每空2分,共30分,注意:每空只填一个语句)(1) L=L->next(2) q=L(3) L=p(4) low <= high(5) key==ST[mid](6) high=mid-1(7) a[i]=t(8) (i=2;i<n;i+=2)(9) (flag)(10) FALSE(11) EnQueue(Q, v)(12) DeQueue(Q, u)(13) !visited[w](14) p=p->lchild(15) p=p->rchild2四、程序设计题(本大题共2小题,每小题10分,共20分。

湖北文理学院数据结构试题与答案A

湖北文理学院数据结构试题与答案A

湖北文理学院 2011-2012 学年度下学期《数据结构与算法》试卷A专业:计算机科学与技术姓名: 学号: 班级:一、判断题(本题共10小题,每小题1分,共计10分)。

(正确的打√,错的打×)1、顺序循环队列Q 空的条件是:Q.front==Q.rear.( )2、关键路径是始点到终点最小长度的路径。

( )3、序列(5, 6, 7, 20, 15, 8, 9, 25, 22,13)是一个堆。

( )4、在插入排序和选择排序中,若原始记录已基本有序,则较适合选用选择排序。

( )5、顺序表是随机存取,存取操作的时间为O (1)。

( )6、已知一棵二叉树的先序序列和后序序列,一定能构造出该二叉树。

() 7、有向图用邻接矩阵表示后,顶点i 的出度等于邻接矩阵中第i 行的元素个数。

( ) 8、归并排序的时间性能不随记录序列中关键字的分布而改变(与初始状态无关)。

( ) 9、在数据结构中,数据的基本单位是数据项。

()10、对任意一个图,从某顶点出发进行一次广度优先或深度优先遍历,可访问图的所有顶点。

( )二、填空题(本题共10小题,每小题 2 分,共计 20分)。

(请将正确答案填入空格内,答案是确定和唯一的)1、任意一棵具有n 个结点的二叉树,若它有m 个叶子,则该二叉树上度为1的结点数为_____个。

2、常用算法的描述方法有:自然语言 、 、 和流程图。

3、某二叉树的先根遍历序列为IJKLMNO ,中根遍历序列为JLKINMO ,则该二叉树中根结点的右孩子是 。

4、堆排序的时间复杂性为,空间复杂性为。

5、二维数组A[6,7],按行优先存储,每个元素占2个字节,A基址为600,则元素A[4,5]的存储地址是。

6、对广义表C=(a,(b,c,d))的运算 Tail(Tail(Head((Tail(C))))的结果是。

7、设有一组初始关键字值序列为(49,81,55,36,44,88),则利用快速排序的方法,以第一个关键字值为基准得到的一次划分为_________________________________________。

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年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个元素结点外,任一结点的存储位置均由_____________指示。

数据结构试卷(A)答案

数据结构试卷(A)答案

运算机系2010年—2011年第一学期期末考试题(卷)《数据结构》试题A(卷)参考答案和评分标准一、选择题(每题2分,共40分)。

1.线性表假设采纳链式存储结构时,要求内存中可用存储单元的地址(D )A.必需是持续的B.部分地址必须是连续的C.必然是不持续的D.连续不连续都可以2. 链表不具有的特点是( C )A.随机访问B.不必事先估计存储空间C.插入删除时不需移动元素D.所需空间与线性表成正比3.设有编号为1,2,3,4的4辆车,顺序进入一个栈结构的站台,以下不可能的出站顺序为( D )A.1234 B.1243 C.1324D.14234.顺序栈存储空间的实现利用(B )存储栈元素。

A.链表B.数组C.循环链表D.变量5.初始化一个空间大小为5的顺序栈S 后,S->top的值是( B )A.0 B.-1 C.再也不改变D.动态变化6.队列是限定在( D )进行操作的线性表。

A.中间B.队首C.队尾D.两端7.引发循环队列队头位置发生转变的操作是(A )。

A.出队B.入队C.取队头元素D.取队尾元素8.以下论述正确的选项是(C )A.空串与空格串是相同的B.”tel”是”Teleptone”的子串C.空串是零个字符的串D.空串的长度等于19.串的模式匹配是指(D )A.判定两个串是不是相等B.对两个串比较大小C.找某字符在主串中第一次显现的位置D.找某子串在主串中第一次显现的第一个字符位置=”morning”,执行求子串函数SubStr(S,2,2)后的结果为( B )A.”mo”B.”or”C.”in”D.”ng”11.设高度为h的二叉树上只有度为0和度为2的结点,那么此类二叉树中所包括的结点数至少为( B )A.2h B.2h-1 C.2h+1 D.h+112.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A.acbed B.decabC.deabc D.cedba13. 按照二叉树的定义,具有3个结点的二叉树有( C )种。

杭州电子科技大学2011数据结构期末试卷

杭州电子科技大学2011数据结构期末试卷

杭州电子科技大学2011数据结构期末试卷杭州电子科技大学学生考试卷( A )卷考试课程数据结构考试日期 2011 年月日成绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业一.判断题:(每小题2分,共20分)1.链栈的初始化是指开辟足够多的结点,然后置栈顶指针为NULL。

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

()3.线性表采用链表存储时,查找第i个元素的时间与i的值无关。

()4.将一棵树转成二叉树,根结点没有左子树。

()5.广义表的取表尾运算,其结果通常是个表,但有时也可是个原子。

()6.完全二叉树的某结点若无左孩子,则它必是叶结点。

()7.用邻接矩阵表示图时,矩阵元素的个数与边的条数有关。

()8.图的深度优先遍历序列和广度优先遍历序列不是唯一的。

()9.用简单选择排序算法,只需一趟扫描即可选出键值最大(或最小)的元素。

()10. 采用线性探测法处理散列时的冲突,当从哈希表删除一个记录时,不应将这个记录的所在位置置空,因为这会影响以后的查找。

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

A. 13B. 33C. 18D. 402.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

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

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

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

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

A. rear=rear+1B. rear=(rear+1) mod (m-1)C. rear=(rear+1) mod mD. rear=(rear+1)mod(m+1)4.对于深度为K的满二叉树(结点编号从1开始,根结点的层数为1),其第K层上最后1个结点的编号为 ( )。

2011年数据结构期末试题(附完整答案)

2011年数据结构期末试题(附完整答案)

15.串是一种特殊的线性表,其特殊性体现在( ) A.可以顺序存储 B.数据元素是一个字符 C.可以链接存储 D.数据元素可以是多个字符 16.树的基本遍历策略分为先根遍历和后根遍历;二叉树的基本遍历策 略可分为先序遍历、中序遍历和后序遍历。结论( )是正确的。 A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同 B.树的后根遍历序列与其对应的二叉树的先序遍历序列相同 C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同 D.以上都不对 17.由五个分别带权值为9,2,3,5,14的叶子结点构成的一棵哈夫曼 树,该树的带权路径长度为( )。 A. 60 B. 66 C. 67 D. 50 18.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。这棵二 叉树中度为2的结点有( )个 A. 33 B. 34 C. 32 D. 30 19.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找 值82为的结点时,( )次比较后查找成功。 A. 1 B. 2 C. 4 D. 8 20.若有文件的关键字序列为:[265] [301] [751] [129] [937] [863] [742] [694] [076] [438],以下为二路归并排序过程。第二趟为: A.[265 301] [129 751] [863 937] [694 742] [076 438] B.[076 129 265 301 438 694 742 751 863 937] C.[129 265 301 694 742 751 863 937] [076 438] D.[129 265 301 751] [694 742 863 937] [076 438]
⑴ ⑷
⑵ ⑸

3.请在标号处填写合适的语句。完成下列程序。(每空1分,共5分) int Binary_Search(S_TBL tbl,KEY kx) { /* 在表tbl中查找关键码为kx的数据元素,若找到返回该元素在表中的位 置,否则,返回0 */ int mid,flag=0; low=1;high=length; while( ⑴ &!flag ) { /* 非空,进行比较测试 */ mid= ⑵ ; if(kx<tbl.elem[mid].key) ⑶ ; else if(kx>tbl.elem[mid].key) ⑷ ; else { flag= ⑸ ;break;} } return flag; } ⑴ ⑵ ⑶ ⑷ ⑸

(完整word版)北师大数院11-12年数据结构试卷A+答案

(完整word版)北师大数院11-12年数据结构试卷A+答案

北京师范大学2011~2012学年第 1 学期期末考试试卷(A 卷)课程名称: 数据结构 任课教师姓名: 刘玉铭卷面总分: 100 分 考试时长: 100 分钟 考试类别:闭卷 院(系): 数学科学学院 专 业: 年级: 2010 姓 名: 学 号:阅卷教师(签字):一、 单项选择题(每题2分,共10题20分)1.以下那一个术语与数据的存储结构无关? 。

A .栈B .哈希表C .线索树D .双向链表2.链表不具有的特点是 。

A .插入、删除不需要移动元素B .可随机访问任一元素C .不必事先估计存储空间D .所需空间与线性表长度成正比3.算术表达式a+b*(c+d/e )转为后缀表达式后为 。

装订线A.ab+cde/* B.abcde/+*+C.abcde/*++ D.abcde*/++4.二维数组A[10][20]采用列优先的存储方法,若每个元素占2个存储单元,设A[0][0]的地址为100,则元素A[7][6]的存储地址为。

A.232B.234C.390D.3925.若一棵二叉树具有10 个度为2 的结点,5 个度为1 的结点,则度为0 的结点个数是 .A.9B.11C.15D.不确定6.一棵二叉树中序序列为FE ABDC,后序序列为F BADC E,则层序序列为。

A。

ABCDEF B. EFCDBA C。

FECDAB D。

EFCDAB7.在有向图G 的拓扑序列中,若顶点Vi 在顶点Vj 之前,则下列情形不可能出现的是 .A.G 中有弧〈Vi,Vj>B.G 中有一条从Vi 到Vj 的路径C.G 中没有弧<Vi,Vj〉D.G 中有一条从Vj 到Vi 的路径8.对于二叉排序树,下面的说法是正确的。

A.二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合B.对二叉排序树进行层序遍历可得到有序序列C.用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大D.在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/29.一组记录的关键字为{47、75、55、30、42、90},则用快速排序方法并以第一个记录为支点得到的第一次划分结果是 .A. 30,42,47,55,75,90B. 42,30,47,75,55,90C. 42,30,47,55,75,90D. 42,30,47,90,55,7510.下述文件中适合于磁带存储的是。

数据结构2011--2012学年试题

数据结构2011--2012学年试题

2011年——2012年第二学期《数据结构》期末试卷(A)一、选择题:(每小题2分,共30分)1、如果在表示树的孩子兄弟链中有6个空的左指针域,7个空的右指针域,5个结点左、右指针域都为空,则该树中树叶的个数( B )A、有7个B、有6个C、有5个D、不能确定2、数据结构是一门研究( B )的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。

A、数值计算B、非数值计算C、混合计算D、简单计算3、如果用孩子兄弟链来表示一棵具有n(n>1)个结点的树,则在二叉链表中( B )A、至少有n-1个非空的右指针域B、至少有2个空的右指针域C、至少有2个非空的左指针域D、至少有n-1个空的右指针值域4、数据结构在计算机内存中的表示是指( A )。

A、数据的存储结构B、数据结构C、数据的逻辑结构D、数据元素之间的关系5、计算机处理的对象之间通常存在着的一种最简单的线性关系,这类数学模型称( A )。

A、线性的数据结构B、图的数据结构C、格局D、树型数据结构6、算法的主要任务是分析( D )A、算法是否具有较好的可读性B、算法中是否存在语法错误C、算法的功能是否符合设计要求D、算法执行时间和问题规模之间的关系7、用孩子链存储结构表示树,其优点之一是( D )比较方便A、判断两个指定结点是不是兄弟B、找指定的结点双亲C、判断指定结点在第几层D、计算指定结点的度数8、线性表采用链式存储结构时,其地址( D )A、必须是连续的B、一定是不连续的C、部分地址必须是连续的D、连续与否均可以9、在一个单链表中,删除*p结点之后的一个结点操作是( D )A、p next=p;B、p next next=p next;C、p next next=p;D、p next=p next next;10、栈和队列的共同点是( C )A、都是先进后出B、都是先进先出C、只允许在端点处插入和删除元素D、没有共同点11、元素ABCD依次进栈后,栈顶元素是( D )栈底元素是(A )A、AB、BC、CD、D12、串是( D )A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列13、串是一种特殊的线性体现在( B )A、可以顺序存储B、数据元素是一个字符C、可以链接存储D、数据元素可以是多个字符14、对于一棵具有n个结点,度为4的树来说,( A )。

青岛理工大学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卷

《数据结构》考试题(闭卷)A卷(电信系本科2011级2012年11月30日)姓名班级学号注:总分110分,不折算,超过100分按100分计一、回答下列问题 (每题4分,共36分)1.“算法的优劣与算法描述语言无关,但与所用计算机有关”这句话对吗?简单说明理由。

2. 设一模式串为“aabbccdaabccd”,求其next函数。

next函数中定义Max {k | 1<k<j,且’p1…p k-1’=’p j-k+1…p j-1’},为什么需要定义求最大的k值?3.有n个结点的二叉树采用顺序存储结构存储,何种情况下最节省存储空间?,何种情况下最浪费存储空间?4.把一颗二叉排序树结点由大到小输出,基本的方法是什么?5.已知某二叉树按层次遍历序列为ABCDEFGHIJ,中序遍历序列为DBGEHJACIF,a)画出该二叉树;b)给出其先序遍历序列6.在哈夫曼编码中,有两个符号A、B的权重相等(A在B前面),若采用稳定的排序方法从小到大排序,请问A、B两个符号的编码长度哪个长?并请说明原因。

7.如图所示二叉排序树的查找成功和查找不成功的平均查找长度是:8. 对序列{12,9,7,8,20,-3,4}进行排序,进行一趟后数据的排列变为{4,9,-3,8,20,7,12};则采用的是()排序。

A. 选择B. 快速C. 希尔D. 冒泡9.给定一序列. 求n在什么范围内,该序列是一个堆。

二、综合题(共34分)1. 下面是一个冒泡排序算法,但效率不高,请给出改进思路,并写出改进算法,让其效率提高。

(8分)Void ABC (List & L){ pass=0 ;For(i=1;i<=n-1){Pass++ ;For (j=i;j<=n-pass ,j++){if L[j].key>L[j+1].keyL[j] ←→ L[j+1]}}}2.已知带权连通图G =(V ,E)的邻接链表如下图所示。

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《数据结构》期末试卷_A卷(答案)

2011《数据结构》期末试卷_A卷(答案)

厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2009年级___专业主考教师:陈怡疆庄朝晖试卷类型:(A卷)一、(本题10分)(1)线性表和广义表的主要区别是什么?(2)已知广义表:C=(a,(b,(a,b)),((a,b),(a,b))),则tail(head(tail(C)))=?答案:(1)线性表和广义表都是元素a1,a2,…,an组成的序列,其主要区别点在于:在线性表中,ai是单个元素(原子);在广义表中,ai可以是单个元素(原子),也可以是广义表。

(7分)(2)tail(head(tail(C)))=((a,b))(3分)二、(本题10分)简述二叉树的两种存储结构(顺序存储和链式存储)的数据结构及主要优缺点。

在哈夫曼树中,使用哪种存储结构,并说明理由。

答案:顺序存储结构:typed efSqBiTree[Max_Tree_Size];特点:使用数组存储二叉树上的结点元素,按照对应的完全二叉树的编号来存储二叉树。

优点是适用于完全二叉树,访问方便。

缺点是对于一般二叉树,较大地浪费了空间。

(4分)链式存储结构:typed efstrutBiTNod e{TEl emTypedata;structBiTNod e*l chil d,*rchil d;}BiTNod e,*BiTree;页脚内容1特点:使用结构体来表示结点元素,使用指针来指向结点的左右孩子。

优点是插入与删除方便,节省空间,缺点是不能快速地随机访问结点元素。

(4分)在哈夫曼树中,使用静态三叉链表,这样可以方便地从根走到叶子,也可以从叶子走到根,而且可以随机访问和节省空间。

(2分)三、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格处的内容,并画出该二叉树。

先序序列:__B__F__ICEH__G;中序序列:D__KFIA__EJC__;后序序列:__K__FBHJ__G__A。

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.。

《数据结构》期末考A、B卷(本科)范文

《数据结构》期末考A、B卷(本科)范文

武夷学院期末考试试卷( 09级计算机科学与技术专业2010 ~2011 学年度第 1 学期) 课程名称 数据结构 A 卷 考试形式 闭卷 考核类型 考试 本试卷共 五 大题,卷面满分100分,答题时间120分钟。

一、选择题:(本大题共10小题,每小题2分,共20分)1. 某内排序方法的稳定性是指( )。

A .该排序算法不允许有相同的关键字记录 B .该排序算法允许有相同的关键字记录 C .平均时间为0(n log n )的排序方法 D .以上都不对2.下面程序段的时间复杂度为( )。

for(i=2;i<=n;++I) for(j=2;j<=i-1;++j) {++x;a[i ,j]=x;}A.O (1)B.O (log 2n )C.O (n )D.O (n 2)3.非空的循环单链表head 的尾结点p 满足( )。

A.p->next=head ;B. p->next=NULL ;C.p =NULL ;D. p->next->next =head ;4.设栈s 和队列Q 的初始状态为空, 元素b 1 ,b 2, ,b 3 , b 4 , b 5 和b 6 依次通过栈S ,一个元素出栈后即进队列Q ,若6个元素出队的序列是b 2 ,b 4 ,b 3 ,b 6 ,b 5 ,b 1 ,,则栈S的容量至少应该是()。

A. 3B. 4C. 5D.其它5.表头和表尾均为空表的广义表是()。

A.()B.(())C.((()))D.((),())6.下列二叉排序树中,满足平衡二叉树定义的是()。

A . B. C. D.7.二维数组A的成员是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从1到8,列下标j的范围从1到10,若A按行优先方式存储,起始地址为SA,那么元素A[8][5]的起始地址为()。

A.SA+292 B.SA+296 C.SA+300 D.SA+3048.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度()。

2011年数据结构试卷 (1)

2011年数据结构试卷 (1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

( F )0.5(n+1)*n14. 一般情况下,三角矩阵压缩存储后存放元素的个数,等于压缩前元素个数的一半再加一。

2011本科数据结构试卷A试题(答案)

2011本科数据结构试卷A试题(答案)

《数据结构》试卷参考答案(A卷)2010 —2011 年度第二学期计算机学院一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)四、存储结构图(要求标明各结点的数据域、指针域、权值等,每小题6分,共12分)1.如下图所示为二叉树排序树T的一种线索二叉树逻辑结构图,试画出插入结点48后的线索二叉树的物理存储结构图。

答案:2.试画出如下图所示无向网的邻接多重表存储结构图。

参考答案:五、求解问题(每小题8分,共32分)1.如下图所示为n 行2n-1列矩阵A[1..n ,1..2n-1],现以行为主序进行压缩存储到一维数组SA[1…m]中。

(1)试问m 值是什么?(2)假定非零元素A[i ,j]保存在SA[k]中,试写出由下标(i ,j)到k 的转换公式。

1,n 2,n-12,n 2,n+1i,n-i+1i,n i,n+i-10 0 0 .... 0 a 0 .... 00 0 0 .... a a a .... 0 ....0 0 ... a ... a ... a ... 0 n,1 n,2n,n n,2n-1 ....a a .... a .... a ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ 答案:(1)m=n 2(2)k=(i-1) 2+i+j-n (当 |j-n|<i)2. 如下图所示为有序表(10,15,21,33,44,60,67,68,70,80)的判定树,试问该判定树是否正确?如果正确,说明理由,错误则指出错误处并给出正确结果。

答案:58296311074注:没按序号作为结点值扣1分3.试用元素序列(63、72、88、68、66、38、43),生成平衡二叉排序树T,(1)按步骤画出该平衡二叉排序树T,(2)写出平衡二叉排序树T 的中序遍历序列,(3)假定每个元素的查找概率相等,计算查找成功时的平均查找长度。

答案: (1)66724388686338(2)38,43,63,66,68,72,88(3)ASL=(1+2*2+3*4)/7=17/74.已知图的邻接表法存储结构如下,从顶点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)。

《数据结构》试卷 (A 卷)
2010 —2011 年度第二学期计算机学院 班级______ 学号___________ 姓名_________
考试时间:2011年 月 日 考试形式:闭卷
一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)写在下表中,每小题1分,共10分) 1.对于栈的进栈和出栈运算,采用______存储结构时运算效率最高。

A .单链表
B .容量足够大的顺序表
C .单向循环链表
D .双向循环链表
2.链式队列和顺序队列比较,具有_____这个优势。

A .进队操作方便
B .出队操作方便
C .通常不会出现满队列情况
D .求队列元素个数方便 3.下列关于串的叙述中,正确的是_____。

A .2个串的长度相等,则2个串相等
B .空串至少包一个空格
C .替换操作可以实现字符的删除
D .一个串的长度至少是1 4.二叉树在线索化后,下列问题中相对难解决的是____。

A .先根线索二叉树中求先根后继
B .中根线索二叉树中求中根前趋
C .中根线索二叉树中求中根后继
D .后根线索二叉树中求后根后继
5.对序列(30,26,18,16,5,66)进行2遍 ________排序后得到序列(5,
16,18,26,30,66)。

A .选择
B .冒泡
C .插入
D .归并
6.在下列排序算法中,_______算法可能出现如下情况:在最后一趟排序之前,
所有元素均不在其最终的位置上。

A .堆排序
B .快速排序
C .冒泡排序
D .插入排序 7.由4个结点可以组成______棵不同形态的二叉树。

A .10
B .12
C .14
D .16
8.对包含n 个元素的散列表进行检索,平均查找长度为____。

A .O(logn) B .O(n) C .O(nlogn) D .不直接依赖于n 9.广义表 ((a,(b),c),((),(d)),(((((e)),f))),())的长度是____。

A .2
B .3
C .4
D .5
10.对某无向图进行一次深度优先搜索遍历,如果能访问到所有的顶点,则该无向图一定是________。

A .连通图
B .树图
C .有回路的连通图
D .完全图
二、填空题(在下表中填写正确的答案,每空1分,共10分) 1.具有n 个单元、用首尾指针、无标志位的循环队列中,队满时共有_______个
元素。

2.设顶点数为n ,弧数为e 的有向图的用邻接表存储,求顶点值为V 的顶点的入
度的算法时间复杂度为_____。

3.某哈夫曼树有11个结点,则它有____个度为2的结点。

4.设森林T 中有三棵树,第一、二、三棵树的结点个数分别是n1,n2,n3,那么
当把森林转换成二叉树后,其根结点的右子树上有______个结点。

5.当线性表经常进行插入和删除操作时,应该选择使用________存储结构。

6.设栈S 和队列Q 的初始状态为空,元素a 、b 、c 、d 、e 、f 依次通过栈S ,一个
元素出栈后即进入队列Q 。

若这6个元素出队列的顺序是b 、d 、c 、f 、e 、a ,则栈S 的容量至少应该是______。

7.满足先根遍历序列为a 、b 、c ,后根序列为c 、b 、a 的二叉树共有______棵。

8.按广度优先搜索遍历图的算法需要借助的辅助数据结构是_____。

9.高度为4的平衡二叉树至少有_____个结点。

10.对n 个元素的序列进行简单选择排序,最多进行______次元素的交换。

2.对完全二叉树,如已知高度h 和第h 层的结点数,一定能求二叉树的结点数。

3.算法分析的目的之一是分析算法的效率以求改进。

4.正确性是算法的特征之一。

5.线性表的逻辑结构与存储顺序总是一致的。

6.在循环链表中,任何一个结点的指针部分都指向其直接后继元素的结点。

7.将递归算法改写成非递归算法时,通常需要使用的数据结构为栈。

8.有n 个顶点,n 2-2n+2条弧的有向图不一定是强连通图。

9. 某二叉树的中根遍历序列得到的关键字序列是递增有序的,则该二叉树一定是二叉排序树。

10.快速排序方法的每一趟都能找到一个元素把它放到最终的位置上。

四、存储结构图(要求标明各结点的数据域、指针域、权值等,每小题6分,共12分)
1.如下图所示为二叉树排序树T 的一种线索二叉树逻辑结构图,试画出插入结点
存储结构图。

二叉排序树T
2. 试画出如下图所示无向网的邻接多重表存储结构图。

A
C
D
E
B 4
4
8
106
无向网G
8
9
1.如下图所示为n 行2n-1列矩阵A[1..n ,1..2n-1],现以行为主序进行压缩存储到
一维数组SA[1…m]中。

(1)试问m 值是什么?(2)假定非零元素A[i ,j]保存在SA[k]中,试写出由下标(i ,j)到k 的转换公式。

1,n 2,n-12,n 2,n+1i,n-i+1i,n i,n+i-10 0 0 .... 0 a 0 .... 00 0 0 .... a a a .... 0 ....0 0 ... a ... a ... a ... 0 n,1 n,2
n,n n,2n-1 ....a a .... a .... a ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎝⎭
2.如下图所示为有序表(10,15,21,33,44,60,67,68,70,86)的判定树,试问该判定树是否正确?如果正确,说明理由,错误则指出错误处并给出正确结果。

44
68
1570673310
86
60
21
3.试用元素序列(63、72、88、68、66、38、43),生成平衡二叉排序树T,(1)按步骤画出该平衡二叉排序树T,(2)写出平衡二叉排序树T 的中序遍历序列,(3)假定每个元素的查找概率相等,计算查找成功时的平均查找长度。

4.已知图的邻接表法存储结构如下,从顶点A出发求图的深度遍历的结果。

六、证明题(每小题5分,共10分)
1,证明在哈夫曼树中最小权值所对应的叶结点的层数正好是哈夫曼树的高度。

2.证明有n个结点的完全二叉树的高度为⎡log2(n+1)⎤。

七、编程题(6分)
根据二叉树的先根和中根遍历序列,试编写函数CreateBiTree构造该二叉树。

相关说明如下:
typedef struct node {
ElemType data;
struct node *lchild,*rchild;
} NODE,*bitTree;
bitTree CreateBiTree(ElemType X[],ElemType Y[],int n); /*要实现的函数原型说明,其中X、Y分别表示n个结点的二叉树的先根和中根遍历序列*/
void main()
{ int a[N] ={1,4,5,6, 8,10,11,13,15,20 }, b[N],i,j,k;
scanf(”%d”,&k);
for(i=0;i<N;i++) b[N-i-1]=k-a[i];
i=j=0;
while(i<N && j<N)
if (a[i]==b[j]) break;
else if (a[i]<b[j]) i++;
else j++;
if (i>=N ||j>=N) p rintf("No Solution!");
else printf("%5d%5d",a[i],k-b[j]);
}
(1) 阅读上面的算法程序,叙述算法的功能,并给出算法的时间与空间复杂度。

(2)改写算法,使改进算法的时间和空间效率尽可能提高。

相关文档
最新文档