数据结构自测练习
数据结构自测题及答案

数据结构自测题及答案**数据结构自测题及答案**一、选择题(每题2分,共10分)1. 数据结构是一种用于组织和管理数据的方式,它主要关注的是:A. 数据的存储和表示方式B. 数据的输入和输出方式C. 算法和数据的交互方式D. 数据处理的速度和效率2. 在数据结构中,数组是一种:A. 线性结构B. 树形结构C. 图形结构D. 集合结构3. 下列哪种数据结构是先进先出(FIFO)的:A. 栈B. 队列C. 链表D. 哈希表4. 在二叉树中,每个节点最多有几个子节点:A. 0B. 1C. 2D. 35. 下列哪种数据结构适合用于实现图的存储:A. 数组B. 链表C. 堆D. 散列表二、填空题(每题2分,共10分)1. 在栈中,最后一个进入栈的元素最先出栈,这种特点叫做**后进先出**。
2. 哈希表一般是通过**散列函数**将键映射到存储位置上。
3. 图中节点之间的关系可以用**边**来表示。
4. 在二叉搜索树中,左子树的值都小于根节点的值,右子树的值都大于根节点的值,这种特点叫做**二叉搜索树的性质**。
5. 在链表中,每个节点都包含一个指向下一个节点的**指针**。
三、判断题(每题2分,共10分)1. 队列是一种先进先出(FIFO)的数据结构。
(正确)2. 图是一种非线性的数据结构。
(正确)3. 二叉树是一种树形数据结构,每个节点最多有两个子节点。
(正确)4. 栈可以用数组和链表两种方式实现。
(正确)5. 哈希表的插入和查询操作的时间复杂度都为O(1)。
(错误)四、程序设计题(总分20分)请编写一个程序,实现以下功能:1. 定义一个结构体,用于表示学生信息,包含姓名、年龄和成绩三个字段。
2. 动态创建一个长度为5的数组,用于存储学生信息。
3. 通过键盘输入,依次为每个学生的姓名、年龄和成绩赋值,并存储到数组中。
4. 分别计算学生的平均年龄和平均成绩,并输出结果。
代码示例(C语言):```c#include<stdio.h>#include<stdlib.h>struct Student {char name[20];int age;float score;};int main() {struct Student* students = (struct Student*)malloc(5 * sizeof(struct Student));for (int i = 0; i < 5; i++) {printf("请输入第 %d 个学生的姓名:", i + 1);scanf("%s", students[i].name);printf("请输入第 %d 个学生的年龄:", i + 1);scanf("%d", &students[i].age);printf("请输入第 %d 个学生的成绩:", i + 1);scanf("%f", &students[i].score);printf("\n");}int totalAge = 0;float totalScore = 0.0;for (int i = 0; i < 5; i++) {totalAge += students[i].age;totalScore += students[i].score;}float avgAge = totalAge / 5.0;float avgScore = totalScore / 5.0;printf("平均年龄: %.2f\n", avgAge);printf("平均成绩: %.2f\n", avgScore);free(students);return 0;}```以上就是自测题及答案的全部内容。
数据结构模拟测验题

数据结构模拟试卷一一、单选题(每小题2分,共20分)1. 在数据结构的讨论中把数据结构从逻辑上分为()。
A.内部结构与外部结构 B. 静态结构与动态结构 C. 线性结构与非线性结构 D. 紧凑结构与非紧凑结构2. 采用线性链表表示一个向量时,要求占用的存储空间地址()。
A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 可连续可不连续3. 采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。
A. nB. n/2C. (n-1)/2D. (n+1)/24. 在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()。
A. s→link = p→link; p→link = s;B. p→link = s; s→link = q;C. p→link = s→link; s→link = p;D. q→link = s; s→link = p;5. 如果想在4092个数据中只需要选择其中最小的10个,采用()方法最好。
A.冒泡排序B. 堆排序C. 直接插入排序D. 快速排序6. 设有两个串t和p,求p在t中首次出现的位置的运算叫做()。
A. 求子串B. 模式匹配C. 串替换D. 串连接7. 在数组A中,每一个数组元素A[i][j]占用3个存储单元,行下标i从1到8,列下标j从1到10。
所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储单元是()。
A. 80B. 100C. 240D. 2708. 将一个递归算法改为对应的非递归算法时,通常需要使用()。
A. 栈B. 队列C. 循环队列D. 优先队列9. 一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为()。
A. 4, 3, 2, 1B. 2, 4, 3, 1C. 1, 2, 3, 4D. 3, 2, 1, 410. 在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构自测题及答案

第一章概论自测题答案一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。
3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。
10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。
11. 一个算法的效率可分为时间效率和空间效率。
二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系(C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A)存储B)物理C)逻辑D)物理和存储(C)3. 算法分析的目的是:A)找出数据结构的合理性B)研究算法中的输入和输出的关系C) 分析算法的效率以求改进D)分析算法的易懂性和文档性(A)4. 算法分析的两个主要方面是:A)空间复杂性和时间复杂性B)正确性和简明性C)可读性和文档性 D)数据复杂性和程序复杂性(C )5. 计算机算法指的是:A)计算方法 B) 排序方法 C)解决问题的有限运算序列 D)调度方法(B )6. 计算机算法必须具备输入、输出和等5个特性。
数据结构自测试题二

数据结构自测试题二一、判断题(每题2分,共12分)1、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
()2、数据的物理结构是指数据在计算机内的实际存储形式。
()3、队列是一种插入与删除操作都在表的同一端进行的线性表。
()4、从AOE网的开始点到完成点之间弧的数目最多的简单路径称为关键路径。
()5、内部排序要求数据一定要以顺序方式存储。
()6、N个顶点的连通图至少有N-1条边。
()二、单选题(每题2分,共20分)1、一个算法应该是()1.A、问题求解步骤的描述B、程序C、要满足五个基本特性D、A和B2、以下数据结构中,()是非线性数据结构1.A、树B、字符串C、队D、栈3、完成在双循环链表结点p之后插入s的操作是()1.A、p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;2.B、p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;3.C、s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;4.D、s->prior=p; s->next=p->next; p->next->prior=s; p->next=s; 4、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。
1.A、O(n) O(n) B、O(n) O(1) C、O(1) O(n) D、O(1) O(1) 5、栈和队列都是()1.A、顺序存储的线性结构B、链式存储的非线性结构2.C、限制存取点的线性结构D、限制存取点的非线性结构6、串的长度是指()1.A、串中所含不同字母的个数B、串中所含字符的个数2.C、串中所含不同字符的个数D、串中所含非空格字符的个数7、设给定权值总数有n 个,其哈夫曼树的结点总数为()1.A、不确定B、2n C、2n+1 D、2n-18、下列哪一种图的邻接矩阵是对称矩阵?()1.A、有向图B、无向图C、AOV网D、AOE网9、当采用分块查找时,数据的组织方式为()1.A、数据分成若干块,每块内数据有序2.B、数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块3.C、数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块4.D、数据分成若干块,每块(除最后一块外)中数据个数需相同10、一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。
数据结构习题(包含全部答案解析)

数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
(完整版)数据结构练习题及参考答案

数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
数据结构自测试题及答案
数据结构自测题1一、单项选择题1.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( D )。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以2.在单链表中,增加头结点的目的是为了( C )A.使单链表至少有一个结点B.表示表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储实现3.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应是( B )A.2 B.3 C.4 D.54.树结构中,前驱结点与后继结点之间存在( B )关系。
A.一对一B.一对多C.多对一D.多对多5.堆栈的特性描述是( B )。
A.FIFO B.FILO C.FIFO和FILO D.FIFO或FILO6.队列的特性描述是( A )。
A.FIFO B.FILO C.FIFO和FILO D.FIFO或FILO7.下列数据结构中,是非线性结构的是( A )A.树B.堆栈C.队列D.循环队列8.设某个初始为空的容纳int型数据的堆栈进行了如下操作(每一步均未发生溢出):push(1)、push(3)、pop()、push(6)、push(1)、pop()、push(3)、push(8) 后,该堆栈中从栈顶到栈底的元素依次为( D )A.8 1 8 3 B.1 3 1 8 C.1 6 3 8 D.8 3 6 1二、判断题1.二叉树可以为空树。
(√)2.顺序表和链表都是线性表。
(√)3.线性表的长度是线性表占用的存储空间的大小。
(√)4.队列只能采用链式存储方式。
(×)5.由二叉树的先序序列和中序序列能唯一确定一棵二叉树。
(√)6.存在有偶数个结点的满二叉树。
(×)三、填空题1.数据结构是数据在计算机内的组成形式和相互关系。
2.二叉树的三种遍历方式分别为中序遍历、先序遍历和后序遍历。
《数据结构》在线测试题(精)
《数据结构》在线测试题、单选题(共40 道试题,共80 分。
)1. 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。
A. O(n) O(n)B. O(n) O(1)C. O(1) O(n)D. O(1) O(1)满分:2 分2. n个结点的线索二叉树上含有的线索数为()A. 2nB. n-lC. n+lD. n满分:2 分3. 下面关于算法说法错误的是()A. 算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的满分:2 分4. 若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。
A. 直接插入B. 直接选择C. 堆D. 快速满分:2 分5. 广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为()。
Head(Tail(Head(Tail(Tail(A)))))A. (a)B. AC. aD.d满分:2 分6. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
A. p->next=s;s->next=p->next;B. s->next=p->next;p->next=s;C. p->next=s;p->next=s->next;D. p->next=s->next;p->next=s;满分:2 分7. 关键路径是事件结点网络中()。
A. 从源点到汇点的最长路径B. 从源点到汇点的最短路径C. 最长回路D. 最短回路满分:2 分8. 具有10个叶结点的二叉树中有()个度为2的结点,A. 8B. 9C. 10D. ll满分:2 分9. 下列排序算法中,占用辅助空间最多的是:( )A. 归并排序B. 快速排序C. 希尔排序D. 堆排序满分:2 分10. 下述文件中适合于磁带存储的是()。
数据结构PPT中的自测题(个人整理)
•算法的计算量的大小称为计算的(B)。
• A.效率• B.复杂性• C.现实性• D.难度•一个算法应该是(B)。
•A.程序•B.问题求解步骤的描述•C要满足五个基本特性•D.A和C.•下面说法错误的是(C)•(1)算法原地工作的含义是指不需要任何额外的辅助空间•(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度0(29的算法•(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界•(4)同一个算法,实现语言的级别越高,执行效率就越低•A.(1)B.(1),(2)C.(1),(4)D.(3)•在数据结构中,从逻辑上可以将之分为(D)。
【中南大学2005一.1(2分)】• A.动态结构和静态结构• B.紧凑结构和非紧凑结构• C.内部结构和外部结构• D.线性结构和非线性结构•计算算法的时间复杂度是属于一种(B)。
• A.事前统计的方法• B.事前分析估算的方法• C.事后统计的方法D.事后分析估算的方法•可以用(D)定义一个完整的数据结构:• A.数据元素• B.数据对象• C.数据关系• D.抽象数据类型•算法分析的目的是C___。
• A.找出数据结构的合理性• B.研究算法中的输入和输出的关系• C.分析算法的效率以求改进• D.分析算法的易懂性和文档性•【北京理工大学2006五.1(1分)】•设计一个“好”的算法应考虑达到的目标有__ABCD。
• A.是可行的• B.是健壮的• C.无二义性• D.可读性好•【华中科技大学2006二.3(2分)】•线性表是具有n个(C)的有限序列(n>0)。
【清华大学1998—.4(2分)】•A.表元素•B.字符•C.数据元素•D.数据项•E.信息项•若线性表最常用的操作是存取第I个元素及其前驱和后继元素的值,为节省时间应采用的存储方式(D)。
• A.单链表•8.双向链表• C.单循环链表• D.顺序表【北京理工大学2004一.3(1分)】•某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。
数据结构自测练习
《数据结构》--------概论测验1.计算机解决实际问题的基本过程是怎样的?2.《数据结构》课程研究的内容实质是什么?3.独立于计算机之外的数据关系称为什么关系?分为几类?4.在计算机之内的数据关系称为什么关系?有几种?5.在理解数据结构的概念时,应该把哪三个方面看成一个整体?6.简略回答为什么要学习数据结构?7.计算机处理的数据对象集合包含哪些元素?8.数据运算包含哪些?9.算法是什么?其特征有哪些?10.如何评价算法?--------线性表测验1.线性表的特征是什么?非线性表的特征呢?2.画出线性表的顺序存储结构示意图,并用C语言描述其存储结构。
线性表的顺序存储结构的设计,对你在程序设计中有什么启示?3.从一个长度为n的顺序表中,在第i个元素之前插入一个元素需要向后移动个元素。
(A) n-i (B) n- i +1 (C ) n- i -1 (D) i如果删除第i个元素时,需要向前移动个元素。
(A)n-i (B) n- i +1 (C ) n- i -1 (D) i4.画出线性表的链式存储结构示意图,并用C语言描述其存储结构。
5.在一个单向链表中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则需要执行那些语句,请写出这些语句。
6.在一个单向链表中,如果这时需要删除p所指的结点,又需要执行那些语句,请写出这些语句。
7.在顺序栈中,假定以高端地址作为栈底,以top作为栈顶,则当做入栈处理时,top 的变化为。
(A)不变(B) top=0 (C ) top=top -1 (D) top=top+18.若入栈序列为A、B、C、D、E,入栈过程中可以出栈,则不可以是出栈序列。
(A)ABCDE (B)BCDEA (C)EABCD (D)EDCBA9.在一个顺序存储的循环队列中,队首指向队首元素的。
(A)前一个位置 (B)后一个位置 (C)队首元素位置10.在具有n个单元的顺序存储的循环队列中,假定front、rear 分别为队首和队尾指针,则判断队满的条件是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》
--------概论测验
1.计算机解决实际问题的基本过程是怎样的?
2.《数据结构》课程研究的内容实质是什么?
3.独立于计算机之外的数据关系称为什么关系?分为几类?
4.在计算机之内的数据关系称为什么关系?有几种?
5.在理解数据结构的概念时,应该把哪三个方面看成一个整体?
6.简略回答为什么要学习数据结构?
7.计算机处理的数据对象集合包含哪些元素?
8.数据运算包含哪些?
9.算法是什么?其特征有哪些?
10.如何评价算法?
--------线性表测验
1.线性表的特征是什么?非线性表的特征呢?
2.画出线性表的顺序存储结构示意图,并用C语言描述其存储结构。
线性表的顺序存储
结构的设计,对你在程序设计中有什么启示?
3.从一个长度为n的顺序表中,在第i个元素之前插入一个元素需要向后移动个元素。
(A) n-i (B) n- i +1 (C ) n- i -1 (D) i
如果删除第i个元素时,需要向前移动个元素。
(A)n-i (B) n- i +1 (C ) n- i -1 (D) i
4.画出线性表的链式存储结构示意图,并用C语言描述其存储结构。
5.在一个单向链表中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则
需要执行那些语句,请写出这些语句。
6.在一个单向链表中,如果这时需要删除p所指的结点,又需要执行那些语句,请写出这
些语句。
7.在顺序栈中,假定以高端地址作为栈底,以top作为栈顶,则当做入栈处理时,top 的
变化为。
(A)不变(B) top=0 (C ) top=top -1 (D) top=top+1
8.若入栈序列为A、B、C、D、E,入栈过程中可以出栈,则不可以是出栈序列。
(A)ABCDE (B)BCDEA (C)EABCD (D)EDCBA
9.在一个顺序存储的循环队列中,队首指向队首元素的。
(A)前一个位置 (B)后一个位置 (C)队首元素位置
10.在具有n个单元的顺序存储的循环队列中,假定front、rear 分别为队首和队尾指针,
则判断队满的条件是。
(A)(rear%n)== front (B)((front+1%n)==rear
(C)((rear-1) %n)== front (D)((rear+1)%n)==front
11. 输入受限的双端队列是指元素只能从队列的一端输入,但可以从队列的两端输出,如图所示。
若有8、1、4、2依次进入输入受限的双端队列,则得不到输出序列。
输入受限的双端队列
A. 2、8、1、4
B. 1、4、8、2 C . 4、2、1、8 D. 2、1、4、8
11.
--------树测验
1.
树的逻辑特征是怎样的? 2.
二叉树与树在概念上是相同的吗? 为什么? 3.
深度为h 的二叉树最多有多少结点?第i 层最多有多少结点? 4. 一棵二叉树的中序序列和后序序列分别如下,试画出该二叉树。
(7分)
先序序列:- + a * b c / d e ;
中序序列:a + b * c – d / e ;
后序序列: a b c * + d e / -
------------------------------------------
先序序列:ABCDEFGHIJ ;
中序序列:CBEDAGHFJI ;
后序序列:CEDBHGJIFA
5. 将下图所示的森林转换成对应的二叉树:
6. n 个结点的二叉树,如果采用二叉链表存储,有多少个指针域为空?为什么?
7. n 个结点的二叉树,如果采用二叉链表存储,值非空的链域的个数为 。
a. n-1 b. 2n-1 c. n+1 d. 2n+1
8. 树的存储方式有几种?树的哪两种存储方式结合,可以使寻找双亲和孩子变得容易?并用
C 语言描述其存储结构?
9. 已知用于通讯的电文由7个字母组成,其字母的出现的频度权值W={6,8,2,4,9,15,19},
请构造出这组权值的哈夫曼树,并为这7个字母设计哈夫曼编码。
--------图测验
1. 图的逻辑关系是什么?其特征是什么?
2.图是什么的集合?
3.图分几类?其点和边的关系是什么?
4.图的存储结构有几种? 请用C语言描述出图存储结构?
5.图有几种遍历方法?请写出英文缩写.
6.在图论中,树是怎样定义的?其点和边的数目关系是怎样的?为什么?
--------查找测验
1.查找的方法分几类?它们之间的主要区别是什么?
2.评价查找算法效率的优劣的标准是什么?
3.证明分块查找的平均查找长度ASL是介于顺序查找和二分查找的平均查找长度ASL之
间.
4.列出所学的查找方法,并按第1题的分类进行划分.
5..
6.已知一个有序表为(12,18,24,35,47,50,62,83,90,115,134),当二分查找
值为90的元素时,次比较后查找成功;当二分查找值为47的元素时,次比较后查找成功。
该表的平均查找长度是多少?
7.什么是平衡因子? 它对什么有影响?LL , RR, LR, RL
8.p222 9-12
--------排序测验
1.什么是排序的稳定性和不稳定性?
2.哪些排序算法与数据的初态有关?
3.从未排序的序列中依次取出元素与已排序序列中的元素作比较,将其放入已排序序列中
的正确位置上,此方法称为;从未排序序列中挑选元素,并将其放入已排序序列的另一端,此方法称为;依次将每两个相邻的有序表合并成一个有序表的排序方法叫做;当两个元素比较出现反序(即逆序)时就相互交换位置的排序方法叫做。
4.排序的方法很多,选取排序方法时需要考虑哪些因素?
--------多维数组与广义表测验
1.多维数组(矩阵)一般采用什么方式存储?为什么?
2.广义表一般采用什么方式存储?为什么?
1.算法的设计与实现取决于什么?
3.矩阵数据一般采用存储方法存储数据; 广义表一般采用方式存储。