数据结构2010

合集下载

2010年10月自考数据结构试题及答案

2010年10月自考数据结构试题及答案

1 / 72010年10月全国自考数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分) 1.数据的四种存储结构是(A )A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构2.若对某线性表最常用的操作是在最后一个结点之后插入一个新结点或删除最后一个结点,要使操作时间最少,下列选项中,应选择的存储结构是(C ) A.无头结点的单向链表 B.带头结点的单向链表 C.带头结点的双循环链表D.带头结点的单循环链表3.若带头结点的单链表的头指针为head ,则判断链表是否为空的条件是(B ) A.head=NULL B.head->next=NULL C.head!=NULLD.head->next!=head4.若元素的入栈顺序为1,2,3....,n ,如果第2个出栈的元素是n ,则输出的第i(1<=i<=n)个元素是(D )A.n-iB.n-i+lC.n-i+2D.无法确定5.串匹配算法的本质是(C )A.串复制B.串比较C.子串定位D.子串链接6.设有一个10阶的对称矩阵A ,采用行优先压缩存储方式,a 11为第一个元素,其存储地址为1,每个元素占一个字节空间,则a 85的地址为(C ) A.13 B.18 C.33D.407.若一棵二叉树的前序遍历序列与后序遍历序列相同,则该二叉树可能的形状是(B ) A.树中没有度为2的结点 B.树中只有一个根结点 C.树中非叶结点均只有左子树D.树中非叶结点均只有右子树8.若根结点的层数为1,则具有n 个结点的二叉树的最大高度是(A )A.nB.2log n ⎢⎥⎣⎦C.2log n ⎢⎥⎣⎦+1D.n/2 9.在图G 中求两个结点之间的最短路径可以采用的算法是(A )2 / 7A.迪杰斯特拉(Dijkstra )算法B.克鲁斯卡尔(Kruskal )算法C.普里姆(Prim)算法D.广度优先遍历(BFS)算法10.下图G=(V,E)是一个带权连通图,G 的最小生成树的权为(D ) A.15 B.16 C.17 D.1811.在下图中,从顶点1出发进行深度优先遍历可得到的序列是(B ) A.1 2 3 4 5 6 7 B.1 4 2 6 3 7 5 C.1 4 2 5 3 6 7 D.1 2 4 6 5 3 712.如果在排序过程中不改变关键字相同元素的相对位置,则认为该排序方法是(B ) A.不稳定的 B.稳定的 C.基于交换的D.基于选择的13.设有一组关键字(19, 14, 23, 1,6,20, 4,27, 5,11, 10, 9),用散列函数H(key)=key%13构造散列表,用拉链法解决冲突,散列地址为1的链中记录个数为(C ) A.1 B.2 C.3D.414.已知二叉树结点关键字类型为字符,下列二叉树中符合二叉排序树性质的是(D)15.若需高效地查询多关键字文件,可以采用的文件组织方式为(D)A.顺序文件B.索引文件C.散列文件D.倒排文件二、填空题(本大题共10小题,每小题2分,共20分)16.下面程序段的时间复杂度为(O(n))。

数据结构复习题(2010)

数据结构复习题(2010)

数据结构期末复习题1(0907)一、基本要求1.数据结构基本概念(1)数据、数据对象和数据结构(逻辑、物理结构、基本操作)(2)抽象数据类型(3)算法的特征及评价的标准2.线形结构(1)顺序表的特点及存储结构(2)链表的特点及存储结构(3)栈的特点及基本操作(4)队列的特点及基本操作(5)顺序串和链串的存储结构(6)二维数组的地址计算(7)特殊矩阵的概念及存储结构(对称、三角、对角、稀疏)(8)广义表的概念及存储结构(9)线性表的排序(简单插入、选择和交换)(10)线性表的查找(顺序、折半和分块索引)3.树形结构(1)二叉树的性质及存储结构(顺序、二叉链表、三叉链表)(2)二叉树的遍历(3)线索二叉树(4)树的存储结构(双亲、孩子-双亲、孩子-兄弟链表)(5)树、二叉树与森林的转化方法(6)哈夫曼树(7)二叉排序树及平衡化(8)堆排序树(9)树的等价类划分4.图形结构(1)图的定义及存储结构(2)图的深度优先和广度优先遍历。

(3)图的连通性(4)最小(代价)生成树(5)拓扑排序(6)关键路径(7)最短路径(单源、顶点对)5.查找表(1)散列表的概念(2)散列表解决散列冲突的方法(开放地址法、链地址法)(3)散列表的插入和删除(4)B_树的概念、存储结构及基本操作(查找、插入、删除)6.排序方法(1)希尔排序(2)快速排序(3)二路归并排序(4)基数排序(链式、计数)(5)排序方法比较和分析(时间性能、空间性能、稳定性)二、单选题1.要求具有同一逻辑结构的数据元素具有相同的特性,其含义为A. 数据元素具有同一的特点B.数据元素其对应的数据个数及数据项的类型要一致C. 每个数据元素都一样D. 仅需要数据元素包含的数据项的个数相同2.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q 和*p之间插入结点*s,则执行操作A. s->next=p->next;p->next=s;B. s->next=p;p->next=sC. q->next=s;s->next=p;D. p->next=s;s->next=q;3.设指针p指向双链表的某一结点,则双链表结构的对称性可以用下面的操作来反映A. p->prior->next=p->next->next;B. p->prior->prior=p->next->prior;C. p->prior->next=p-> next->prior;D. p->next->next= p->prior->prior;4.表达式a*(b+c)--d的后缀表达式是A.abcd*+- B.abc+*d-C.abc*+d- D.-+*abcd5.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输出序列不可能是A.A,B,C,D B.D,C,B,AC. A,C,D,BD. D,A,B,C6.设有一个顺序栈的入栈序列是a、b、c,则3个元素都出栈的可能不同排列个数为A.4 B.5 C. 6 D. 77.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为pl,p2,p3,…,pn,若pl是n,则pi是A.i B.n-i C.n-i+1 D.不确定8.已知广义表LS=((a,b,c),(d,e,f)),运算head和tail函数取出元素e的运算是A.head(tail(LS))B.tail(head(LS))C.head(tail(head(tail(LS))))D.head(tail(tail(head(LS))))9.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,l,…,8,列下标为j=1,2.….10。

2010wgy《数据结构》总复习题参考答案

2010wgy《数据结构》总复习题参考答案

1
27.带有一个头结点的单链表 head 为空的条件是 28.在 hq 的链队列中,判定只有一个结点的条件是
head->next==NULL 带头结点
带头结点
29.在一个长度为 n 的循环链表中,删除其元素值为 x 的结点的时间复杂度为 __ O(n)____。 30.已知一棵二叉树的先序序列为 ABCD ,中序序列为 BCAD ,则它的后序序列为 __cbda____。 31.对关键字序列 (50, 34,92,19, 11,68,56, 41,79) 进行直接插入排序,当将第 7 个关键字 56 插入到当前的有序子表中时,为寻找插入位置需进行 ___3___次关键字之间的比较。 32.将有序表中 n 个元素依次插入到一棵空的二叉排序树中,则在等概率查找的情况下,该二叉排 序 树在查找成功时的平均查找长度是 __(n+1)/2____。特别注意是有序表 33.已知二叉树中叶子数为 50,仅一个孩子的结点数为 30,则总结点数____。度为 2 的结点数 49 34.直接选择排序算法在最好情况下所作的交换元素的次数为____0________。 35.有 n 个顶点的连通图至少有_n-1___条边。 36.在双向链表中,删除指针 P 所指结点的语句序列是_______略_____________________,在 p 之 后插入 s 节点的语句序列是___________________略___________________________________。 37.在有 n 个叶子结点的哈夫曼树中,总结点数是 __略__。 38.在有序表 A[1..18]中,采用二分查找算法查找元素值等于 A[7]的元素,所比较过的元素的下标 依次为____________________。9,4,6,7 39.链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的 ____指针____域的值。 40.在一个链式栈中,若栈顶指针等于 NULL 则为__空______。 41.n (n﹥0) 个顶点的无向图最多有____n(n-1)/2____条边,最少有____0____条边。

数据结构真题及答案(2010)

数据结构真题及答案(2010)

杭州电子科技大学2010《数据结构》真题及解析一、是非题(每小题2分,共20分)1.线性表的顺序存储结构优于链式存储结构。

2.栈和队列也是线性表。

如果需要,可对它们中的任一元素进行操作。

3.非空广义表的表头和表尾都有可能是原子或广义表。

4.在二叉树的先序遍历序列中,任意-个结点均处在其孩子结点的前面。

5.通常,在二叉树的第i层上有2^i-1个结点。

6.二叉树按某种次序线索化后,任一结点均有指向其前驱和后继的线索指针。

6.赫夫曼树中的结点个数一定是奇数。

8.用邻接矩阵(数组表示法)存储一个图时,所需的存储空间大小与图的边数无关。

9.对于一棵m阶的B-树而言.树中每个结点至多有m个关键字,除根之外的所有非终端结点至少有┌m/2┐个关键字。

10.对于任何待排序序列来说,快速排序均快于冒泡排序。

二、选择题(每小题2分,共20分)1.递归过程可借助于_____转化为非递归过程。

A:线性表 B:队列 C:栈 D:数组2.循环队列用数组A[0..m-1]存放其元素值,设头尾游标分别为front(队头元素的位置)和rear(队尾元素的位置),则当前队列中的元素个数是_______。

A: rear-front B: rear-front+1C: (rear-front+m)%m D: (rear-front+1+m)%m3.对广义表A=((a, (6)),(c,()),d)执行操作gettail(gethead(gettail (A)))的结果是:________。

A:() B:(()) C:d D:(d)4.对二叉排序树______可得到有序序列。

A:按层遍历 B:前序遍历C:中序遍历 D:后序遍历5.在有n个结点的二叉树的二叉链表表示中,空指针数为________。

A:不定 B: n+1 C:n D:n-16.图示的三棵二叉树中_____为最优二叉树。

A: B: C:7.设无向图G=(V,E)和G=(V′,E′),若G′是G的生成树,则下面不正确的说法是_________。

全国2010年1月自考数据结构导论考试试题,答案,笔记

全国2010年1月自考数据结构导论考试试题,答案,笔记

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

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

1.下述文件中适合于磁带存储的是( A )A.顺序文件B.索引文件C.散列文件D.多关键字文件2.某二叉树的后根遍历序列为dabec,中根遍历序列为debac,则先根遍历序列为( D )A.acbedB.becabC.deabcD.cedba3.含有n个结点的二叉树用二叉链表表示时,空指针域个数为( C )A.n-1B.nC.n+1D.n+2 注:子域为2n个,有n-1个孩子。

4.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶15.长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( A)A.O(1)B.O(1og2n) 二分法注:若只有尾指针,那么入和出都为O(1)C.O(n) (入队)D.O(n2) -冒泡6.下述几种排序方法中,要求内存量最大的是( C )A.插入排序B.快速排序C.归并排序D.选择排序7.对n个不同值进行冒泡排序,在元素无序的情况下比较的次数为( D)A.n-1B.nC.n+1D.n(n-1)/28.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列9.在表长为n的顺序表上做删除运算,其平均时间复杂度为( B )A.O(1)B.O(n) 注:在双向循环链表中,删除最后一个结点C.O(nlog2n)D.O(n2) 的时间复杂度为O(1)10.当利用大小为n 的数组顺序存储一个队列时,该队列的最大容量为( B )A.n-2B.n-1C.nD.n+1 11.有关插入排序的叙述,错误的...是( C)A.插入排序在最坏情况下需要O(n 2)时间B.插入排序在最佳情况可在O(n)时间内完成C.插入排序平均需要O(nlog 2n)时间-----快速排序需要o (nlog2n )D.插入排序的空间复杂度为O(1) 12.有关树的叙述正确的是( C)A.每一个内部结点至少有一个兄弟B.每一个叶结点均有父结点C.有的树没有子树D.每个树至少有一个根结点与一个叶结点。

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

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

一、(本题10分)(1)线性表和广义表的主要区别点是什么?已知广义表: C=(a,(b, (a,b)), ((a,b), (a,b))), 则tail(head(tail(C))) =?(2)满足什么条件可以实施二分查找?二分查找的时间复杂度是多少?答:(1)线性表和广义表都是元素a1,a2,…,an 组成的序列,其主要区别点在于:在线性表中,ai 是单个元素(原子);在广义表中,ai 可以是单个元素(原子),也可以是广义表。

tail(head(tail(C))) = ((a,b))(2)序列a1,a2,…,an 必须在数组(顺序表)中,且有序;时间复杂度为O(log n)。

二、(本题10分)证明:一棵二叉树的先序序列和中序序列可惟一确定这棵二叉树。

证明:设一棵二叉树的先序序列和中序序列分别存放在一维数组A[1..n]和B[1..n]中。

因为先序序列的第一个结点A[1]为二叉树的根结点,在中序序列中找到与A[1]相同的结点,不妨假设B[i]=A[1];又因为二叉树的任何一棵子树的结点是紧挨在一起的,故所构造的二叉树的左子树由先序序列A[2..i]和中序序列B[1..i-1]确定的二叉树组成,而所构造的二叉树的右子树由先序序列A[i+1..n]和中序序列B[i+1..n]确定的二叉树组成。

这是一个递归过程,当先序序列和中序序列分别含有3个以下的结点时,可惟一确定对应的二叉树。

因此,由一棵二叉树的先序序列和中序序列可以惟一确定这棵树。

三、(本题15分)某带权有向图如下:(1)写出深度优先搜索结点访问序列,并画出深度优先生成树;(当有多种选择时,编号小的结点优先。

)始点 51 11 32 23 3 1AC D E FBG 厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2008年级___专业主考教师:陈怡疆 庄朝晖 试卷类型:(B 卷)终点(2)写出该图的拓扑序列(当有多种选择时,编号小的结点优先。

2010年1月自考数据结构试题和答案

2010年1月自考数据结构试题和答案

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

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

1.若一个算法的时间复杂度用T(n)表示,其中n的含义是(A)A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是(C)A.树B.图C.栈和队列D.广义表线性结构有:顺序表、栈和队列、串3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为(C)A.O(1) B.O(m)C.O(n)D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是(D)A.2个B.3个C.4个D.6个P28中void DInsertBefore(DListNode *p,DataType x)//在带头结点的双链表中,将值为x的新结点插入结点*p之前,设p≠NULL{DListNode *s=malloc(sizeof(ListNode)); ①s->data=x; ②s->prior=p->prior; ③s->next=p; ④p->prior->next=s; ⑤p->prior=s; ⑥}5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为(D)A.3 B.37C.50 D.97辅导书P22中对于循环向量中的循环队列,写出通过队头队尾指针表示的队列长度公式。

(front指向实际队头,rear指向实际队尾的下一元素位置。

)当rear≥front时,队列长度L=rear-front;当rear<front时,L=m+(rear-front)。

这两种情况可统一为L=(m+(rear-front))%m,这里m为向量的大小。

本题中m=606.若栈采用链式存储结构,则下列说法中正确的是(B)A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空P36中因为链栈中的结点是动态分配的,可以不考虑上溢,所以无需定义stackFull运算。

2010年内蒙古自治区数据结构试题及答案必过技巧

2010年内蒙古自治区数据结构试题及答案必过技巧
A.SA+141 B.SA+144 C.SA+222 D.SA+255
5、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.指针型 D.常值引用型?
C.O(1Ogzn) D.O(n2)
25、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
26、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
33、长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为
A.n—i B.n—i—l C.i D.i+1
34、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
30、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
C.对应顶点v的入度
D.依附于对应顶点v的边数
31、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
6、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
C.不必事先估计存储空间 D.所需空间与其长度成正比
7、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年招收攻读硕士学位研究生入学考试试题(副题)
********************************************************************************************
学科、专业名称:计算机技术、软件工程
研究方向:各专业
考试科目名称:830数据结构
考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。

一.选择题(每题2分,共40分)
1.具有n个顶点的完全有向图的边数为( ).
A n(n-1)/2
B n(n-1)
C n2
D n2-1
2.队列操作的原则是()
A.先进先出
B.后进先出
C.只能进行插入
D.只能进行删除
3. 顺序栈S的Pop(S, e)操作弹出元素e,则下列( )是正确的操作。

A. e=*(s.top)
B. e=*(s.top--)
C. e=*(--s.top)
D. e=--s.top
4. 对具有n个结点的有序表折半查找时,其时间复杂度是 ( ) 。

A. O(log2n)
B. O(nlog2n)
C. O(n)
D. O(n2)
5. 若线性表最常用的操作是存取第i个元素及其前趋的值,则采用( )存储方式节省时间。

A.单链表
B.双链表
C.单循环链表
D.顺序表
6. 线性表的链接实现有利于( )运算
A.插入
B. 读表元素 C .查找 D.定位
7. 设连通图G的顶点数为n,则G的生成树的边数为( )
A. n
B. n-1
C.2n
D. 2n-1
8.从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动()个元素。

A.n-i
B.n-i+1
C.n-i-1
D. i
9. 若有一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是()
A.n-i
B.n-i-1
C.n-i+1
D.不确定
10. 二叉树第i(i≥1)层上至多有( )个结点。

A. 2i
B.2i
C.2i-1
D.2i-1
11.串是一种特殊的线性表, 其特殊性体现在( )
A.可以顺序存储
B.数据元素是一个字符
C.可以链接存储
D.数据元素可以是多个
12. 稀疏矩阵一般的压缩存储方法有两种,即: ( )
A.二维数组和三维数组
B.三元组和散列
C.三元组和十字链表
D.散列和十字链表
考试科目:数据结构共 4 页,第 1 页
13. 在AOE网中,完成工程的最短时间是()。

A.从源点到汇点的最长路径的长度B.从源点到汇点的最短路径的长度
C.最长的回路的长度D.最短的回路的长度
14. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。

A. 存储结构
B. 逻辑结构
C. 链式存储结构
D. 顺序存储结构
15. 在线索化二叉树中,T所指结点没有左子树的充要条件是()。

A. T->left=NULL
B. T->ltag=1
C. t->ltag=1且t->left=Null
D. 以上都不对
16.在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度数之和为()。

A.s B.s-1 C.s+1 D.2s
17. 快速排序在( )情况下最不利于发挥其长处。

.
A. 被排序的数据量太大.
B. 被排序数据中含有多个相同的关键字
C. 被排序的数据完全无序
D. 被排序的数据已基本有序
18. 判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用()。

A.求关键路径的方法B.求最短路径的Dijkstra方法
C.广度优先遍历算法D.深度优先遍历算法
19.通过一趟排序就能从整个记录序列中选择出具有最大(或最小)关键字的记录,这种排序方法是( ) 。

A. 堆排序
B. 快速排序
C. 直接插入排序
D.归并排序
20. 设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( ) 。

A. p->next=p->next->next
B. p=p->next
C. p=p->next->next
D. p->next=p
二.填空题(每空2分,共30分)
1. 在堆排序,希尔排序,快速排序,归并排序算法中,占用辅助空间最多的是。

2. 在散列表(hash)查找中,评判一个散列函数优劣的两个主要条件是:
和。

3.堆栈是一种操作受限的线性表,它只能在线性表的进行插入和删除操作,对栈的访问是按照的原则进行的。

4.顺序查找方法适合于存储结构;在等概率查找的条件下,对于表长是n的顺序表,其平均查找长度是。

5. 循环链表的主要优点是。

6. 一个算法的效率可为效率和效率。

7.对于一个具有n个记录的序列,若采用冒泡排序,记录之间最少的比较次数是,最多的比较次数是。

8.由n个权值构成的哈夫曼树共有个结点。

9. 对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小至少为× 。

三.判断题(每题1分,共15分,正确的选t,错误的选f)
考试科目:数据结构共 4 页,第 2 页
考试科目:数据结构共 4 页,第 3 页
4.试问执行以下串函数会产生怎样的输出结果?(6分)
void compute( ) {
StrAssign(s, ’This is a book’);
Replace(s, SubString(s,3,7), ’ese are’);
StrAssign(t, Concat(s, ’s’));
StrAssign(u, ’mnmnmnmnmnmn’);
StrAssign(v, SubString(u,6,3));
StrAssign(w, ’c’);
printf(‘t=’, t, ’ v=’, v, ’ u=’, Replace(u, v, w));
}
5.假设用于通信的电文仅由6个字母组成,字母在电文中出现的频率分别为:37,18,22,3,20,10,画出一棵哈夫曼树,试为这6个字母设计哈夫曼编码。

(8分)
6. 输入一个正整数序列{42,38,16,50,100,5,45,3,82,96,35},建立一棵二叉排序树,然后删除结点50。

分别画出该二叉排序树及删除结点50后的二叉排序树。

(8分)
五.算法设计题(30分)
1.算法填空(每空2分,共10分)
下面算法在顺序表L中删除第i个元素,并保留在e中。

Status ListDelete_Sq(SqList &L,int i, ElemType &e)
{ if ((i<1)||(i>L.length_Sq(L)) return ERROR;
p= ;
e=*p;
q=L.elem+ ;
for (++p;p<=q; )
*(p-1)= ;
L.length= ;
return OK;
}
2.设计算法: 输入n个元素的值,创建带头结点的单链线性表L。

(8分)
3.假设在n个城市之间的公路网中,已知直达城市之间的乘车费用,各城市之间均存在通路,从V0城市开始乘车,经过若干个城市到S城市,有多条路线可以选择,设计算法:选择一条最节省费用的路线。

要求:(1)选择一种合适的数据结构,描述n个城市之间的公路网;(4分)(2)用伪代码描述求从V0城市到S城市最节省费用的路线。

(8分)
考试科目:数据结构共 4 页,第 4 页。

相关文档
最新文档