《数据结构》课程第4次作业
2019年9月西南大学网络教育大作业答案-0012《数据结构》.doc

大作业满分:100分
一、大作业题目
1.设无向图G(如图所示),给出该图的最小生成树上边的集合,并计算最小生成树各边上的权值之和。
2.请画出下图的邻接矩阵和邻接表。
解:
邻接矩阵:
邻接表:
(3)、已知序列{15,18,60,41,6,32,83,75,95}。请给出采用冒泡排序法对该序列作升序排序时的每一趟的结果。
ቤተ መጻሕፍቲ ባይዱ二、大作业要求
选作2题,满分100分。
解:
初始序列:15,18,60,41,6,32,83,75,95
第一趟:15,18,41,6,32,60,75,83,95
第二趟:15,18,6,32,41,60,75,83,95
第三趟:15,6,18,32,41,60,75,83,95
第四趟:6,15,18,32,41,60,75,83,95
第五趟:6,15,18,32,41,60,75,83,95
(4)、字符a, b, c, d, e出现的概率分别为:0.12, 0.40, 0.15, 0.08, 0.25,采用哈夫曼算法构造哈夫曼树进行编码。
a: 0001
b: 1
c: 001
d: 0000
e: 01
(5)、已知线性表的关键字集合{87, 25, 310, 08, 27, 132, 68, 95, 187, 123, 70,63, 47},已知哈希函数为H(k)=k MOD 13,采用链地址法处理冲突,设计出该开哈希表的结构。
北语 18秋《数据结构》 作业1234

18秋《数据结构》作业_1一、单选题 ( 每题4分, 共23道小题, 总分值92分 )1.答案:B作业代做QQ:805009261 成绩保证95分以上,基本满分!2.答案:B3.答案:D4.答案:D5.与单链表相比,双链表的优点之一是___。
A. 插入、删除操作更简单B. 可以进行随机访问C. 可以省略表头指针或表尾指针D. 顺序访问相邻结点更灵活答案:D6.数据结构在计算机内存中的表示是指___。
A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系7.快速排序在下列情况下最易发挥其长处的是()。
A. 被排序的数据中含有多个相同排序码B. 被排序的数据已基本有序C. 被排序的数据完全无序D. 被排序的数据中的最大值和最小值相差悬殊8.A. (A)B. (B)C. (C)D. (D)9.链式栈与顺序栈相比,一个比较明显的优点是()。
A. 插入操作更加方便B. 通常不会出现栈满的情况C. 不会出现栈空的情况D. 删除操作更加方便10.11.12.13.有一个有序表{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,___次比较后查找成功。
A. 11B. 5C. 4D. 814.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有___个空指针域。
A. 2m-1B. 2mC. 2m+1D. 4m15.A. (A)B. (B)C. (C)D. (D)16.A. (A)B. (B)C. (C)D. (D)17.A. (A)B. (B)C. (C)D. (D)18.下述哪一条是顺序存储结构的优点___。
A. 插入运算方便B. 可方便地用于各种逻辑结构的存储表示C. 存储密度大D. 删除运算方便19.设某棵二叉树中有2000个结点,则该二叉树的最小高度为___。
A. 9B. 10C. 11D. 1220.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行___趟的分配和回收才能使得初始关键字序列变成有序序列。
数据结构第四五六七章作业答案

数据结构第四五六七章作业答案数据结构第四、五、六、七章作业答案第四章和第五章一、填空题1.不包含任何字符(长度为0)的字符串称为空字符串;由一个或多个空格(仅空格字符)组成的字符串称为空白字符串。
2.设s=“a;/document/mary.doc”,则strlen(s)=20,“/”的位置为3。
3.子串的定位操作称为串模式匹配;匹配的主字符串称为目标字符串,子字符串称为模式。
4、串的存储方式有顺序存储、堆分配存储和块链存储5.有一个二维数组a[0:8,1:5],每个数组元素用四个相邻字节存储,内存用字节寻址。
假设存储阵列元素a[0,1]的地址为100,如果以主行顺序存储,则a[3,5]的地址为176,[5,3]的地址为208。
如果按列存储,[7,1]的地址为128,[2,4]的地址为216。
6、设数组a[1…60,1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为8950。
7、三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的行下标、列下标和元素值。
8、二维数组a[10][20]采用列序为主方式存储,每个元素占10个存储单元,且a[0][0]的存储地址是2000,则a[6][12]的地址是32609.已知二维数组a[20][10]按行顺序存储,每个元素占2个存储单元,a[10][5]的存储地址为1000,则a[18][9]的存储地址为116810。
已知二维数组a[10][20]按行顺序存储,每个元素占2个存储单元,a[0][0]的存储地址为1024,则a[6][18]的地址为130011,两个字符串相等。
充要条件是长度相等,相应位置的字符相同。
12、二维数组a[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且a[0][0]的存储地址是200,则a[6][12]的地址是200+(12*10+6)=326。
数据结构与算法课程第4章的习题答案

case0: bonus=i*0.1;break;
case1: bonus=bonus1+(i-100000)*0.075;break;
case2:
case3:bonus=bonus2+(i-200000)*0.05;break;
case4:
case5:bonus=bonus4+(i-400000)*0.03;break;
第4章
4.1程序阅读题。以下程序运行结果是什么?
#includestdio.h
void main() {
int i1;
while (i15)
if (i3!2)continue;
else printf(d,i);
printf(\n);
}
结果为:2 5 8 11 14
4.2程序填空题。输出右边所示图案(共N行,N为奇数,此时N=7)。
}
注意:s、t不能定义为int,long型,因为这两种数据类型的范围都不超过21亿,无法容纳最后求的结果。
(6)求s=a+aa+aaa+…+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘输入控制。
程序流程图:
程序代码:
#include<stdio.h>
bonus2=bonus1+100000*0.075;
bonus4=bonus2+200000*0.05;
bonus6=bonus4+200000*0.03;
bonus10=bonus6+400000*0.015;
(精华版)国家开放大学电大《数据结构》网络课形考任务4作业及答案

国家开放大学电大《数据结构》网络课形考任务4作业及答案形考任务4一、单项选择题(每小题2分,共40分)题目1对线性表进行二分查找时,要求线性表必须( )。
选择一项:D. 以顺序存储方式,且数据元素有序题目2采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为( )。
选择一项:D.(n+1)/2题目3有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。
选择一项:B. 29/10题目4已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较( )次。
选择一项:C.5题目5有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是( )。
选择一项:D. 37,24,12,30,53,45,96题目6对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是( )。
选择一项:A.4题目7在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是( )。
选择一项:B. 直接选择排序题目8从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。
将其放入已排序序列的正确的位置上,此方法称为( )。
选择一项:A. 插入排序题目9依次将每两个相邻的有序表合并成一个有序表的排序方法称为( )。
选择一项:B. 归并排序题目10当两个元素出现逆序的时候就交换位置,这种排序方法称为( )。
选择一项:D. 交换排序题目11每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为( )。
选择一项:B.快速排序题目12一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
数据结构第4章作业参考答案

第4章(数组和广义表)作业参考答案一、单项选择题1.将一个A[1..100,1..100]的三对角矩阵,按行优先压缩存储到一维数组B[1‥298]中,A 中元素A[66][65]在B数组中的位置K为(C )。
A. 198B. 197C. 195D. 1962.广义表(a,(b,c),d,e)的表头为( A )。
A. aB. a,(b,c)C. (a,(b,c))D. (a)3.在三对角矩阵中,非零元素的行标i和列标j的关系是( A )。
A. |i-j|≤1B. i>jC. i==jD. i<j4.广义表L=(a,(b,c)),进行Tail(L)操作后的结果为( D )。
A. cB. b,cC.(b,c)D.((b,c))5.设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( D )。
A. j*m+i-1B. (i-1)*n+j-1C. i*(j-1)D. (i-1)*n+j6.广义表(( ),( ),( ))的深度为( C )。
A. 0B. 1C. 2D. 37.假设以行序为主序存储二维数组A[0..99,0..99],设每个数据元素占2个存储单元,基地址为10,则LOC(A[4][4])=( C )。
A. 1020B. 1010C. 818D. 8088.已知广义表A=((a,b),(c,d)),则head(A)等于( A )。
A. (a,b)B. ((a,b))C. a,bD. a9.已知一个稀疏矩阵的三元组表如下:(1,2,3),(1,6,1),(3,1,5),(3,2,-1),(4,5,4),(5,1,-3)则其转置矩阵的三元组表中第3个三元组为( C )。
A. (2,3,-1)B. (3,1,5)C. (2,1,3)D. (3,2,-1)10.广义表((b,c),d,e)的表尾为( C )。
数据结构第四章的习题答案

数据结构第四章的习题答案数据结构第四章的习题答案在学习数据结构的过程中,习题是非常重要的一环。
通过解答习题,我们可以更好地理解和应用所学的知识。
在第四章中,我们学习了树和二叉树的相关概念和操作。
下面我将为大家提供一些第四章习题的答案,希望能帮助大家更好地掌握这一章节的内容。
1. 请给出树和二叉树的定义。
树是由n(n>=0)个结点构成的有限集合,其中有且仅有一个特定的结点称为根结点,其余的结点可以分为若干个互不相交的有限集合,每个集合本身又是一个树,称为根的子树。
二叉树是一种特殊的树结构,其中每个结点最多有两个子结点,分别称为左子结点和右子结点。
二叉树具有递归的定义,即每个结点的左子树和右子树都是二叉树。
2. 请给出树和二叉树的遍历方式。
树的遍历方式包括前序遍历、中序遍历和后序遍历。
前序遍历是先访问根结点,然后依次遍历左子树和右子树。
中序遍历是先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历是先遍历左子树和右子树,最后访问根结点。
二叉树的遍历方式包括前序遍历、中序遍历和后序遍历。
前序遍历是先访问根结点,然后依次遍历左子树和右子树。
中序遍历是先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历是先遍历左子树和右子树,最后访问根结点。
3. 给定一个二叉树的前序遍历序列和中序遍历序列,请构建该二叉树。
这个问题可以通过递归的方式解决。
首先,根据前序遍历序列的第一个结点确定根结点。
然后,在中序遍历序列中找到根结点的位置,该位置左边的结点为左子树的中序遍历序列,右边的结点为右子树的中序遍历序列。
接下来,分别对左子树和右子树进行递归构建。
4. 给定一个二叉树的中序遍历序列和后序遍历序列,请构建该二叉树。
和前面的问题类似,这个问题也可以通过递归的方式解决。
首先,根据后序遍历序列的最后一个结点确定根结点。
然后,在中序遍历序列中找到根结点的位置,该位置左边的结点为左子树的中序遍历序列,右边的结点为右子树的中序遍历序列。
数据结构课后习题(第4-5章)

【课后习题】第4章 串 第5章 数组和广义表网络工程2010级( )班 学号: 姓名:题 号 一 二 三 四 总分 得 分一、填空题(每空1分,共30分)1. 串有三种机内表示方法: 、 和 ,其中前两种属于顺序存储结构,第三种属于 。
2. 若n 为主串长度,m 为子串长度,则串的BF (朴素)匹配算法最坏的情况下需要比较字符的总次数为 ,T(n)= 。
3. 是任意串的子串;任意串S 都是S 本身的子串,除S 本身外,S 的其他子串称为S 的 。
4. 设数组a[1…50, 1…60]的基地址为1000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[32,58]的存储地址为 。
5. 对于数组,比较适于采用 结构够进行存储。
6. 广义表的深度是指_______。
7. 将一个100100 A 的三对角矩阵,按行优先存入一维数组B[297]中,A 中元素66,66A 在B 数组中的位置k 为 。
8. 注意:a i,j 的k 为 2(i-1)+j-1,(i=1时j=1,2;1<i<=n 时,j=i-1,i,i+1) 。
9. 称为空串; 称为空白串。
10. 求串T 在主串S 中首次出现的位置的操作是 ,其中 称为目标串, 称为模式。
11. 对称矩阵的下三角元素a[i,j],存放在一维数组V 的元素V[k]中(下标都是从0开始), 12. k 与i ,j 的关系是:k= 。
13. 在n 维数组中每个元素都受到 个条件的约束。
14. 同一数组中的各元素的长度 。
15. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的 、 和 。
16.稀疏矩阵中有n个非零元素,则其三元组有行。
17.求下列广义表操作的结果:18.(1)GetHead【((a,b),(c,d))】=== ;19.(2)GetHead【GetTail【((a,b),(c,d))】】=== ;20.(3)GetHead【GetTail【GetHead【((a,b),(c,d))】】】=== ;21.(4)GetTail【GetHead【GetTail【((a,b),(c,d))】】】=== ;22.广义表E=(a,(b,E)),则E的长度= ,深度= ;二、判断题(如果正确,在下表对应位置打“√”,否则打“⨯”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1、设有两个串S1和S2,求串S2在S1中首次出现位置的运算称作( C )。
A. 连接
B. 求子串
C. 模式匹配
D. 判断子串
2、已知串S=’aaab’,则next数组值为( A )。
A. 0123
B. 1123
C. 1231
D. 1211
3、串与普通的线性表相比较,它的特殊性体现在( C )。
A. 顺序的存储结构
B. 链式存储结构
C. 数据元素是一个字符
D. 数据元素任意
4、设串长为n,模式串长为m,则KMP算法所需的附加空间为( A )。
A. O(m)
B. O(n)
C. O(m*n)
D. O(nlog2m)
5、空串和空格串( B )。
A. 相同
B. 不相同
C. 可能相同
D. 无法确定
6、与线性表相比,串的插入和删除操作的特点是( A )。
A. 通常以串整体作为操作对象
B. 需要更多的辅助空间
C. 算法的时间复杂度较高
D. 涉及移动的元素更多
7、设SUBSTR(S,i,k)是求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=’Beijing&Nanjing’,SUBSTR(S,4,5)=( B )。
A. ‘ijing’
B. ‘jing&’
C.‘ingNa’
D. ‘ing&N’
二、填空题
1、设s=’I︺AM︺A︺TEACHER’,其长度是__14__。
2、两个串相等的充分必要条件是两个串的长度相等且对应字符相同。
三、程序填空题
1、函数实现串的模式匹配算法,请在空格处将算法补充完整。
int index_bf(sqstring*s,sqstring *t,int start){
int i=start-1,j=0;
while(i<s->len&&j<t->len)
if(s->data[i]==t->data[j]){
i++;j++;
}else{
i= i-j+1 ;j=0;
}
if(j>=t->len)
return i-t->len+1 ;
else
return -1;
}}/*listDelete*/。