数据结构与算法离线作业答案

合集下载

《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案

2.3 课后习题解答2.3.2 判断题1.线性表的逻辑顺序与存储顺序总是一致的。

〔×〕2.顺序存储的线性表可以按序号随机存取。

〔√〕3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

〔×〕4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有一样的特性,因此属于同一数据对象。

〔√〕5.在线性表的顺序存储构造中,逻辑上相邻的两个元素在物理位置上并不一定相邻。

〔×〕6.在线性表的链式存储构造中,逻辑上相邻的元素在物理位置上不一定相邻。

〔√〕7.线性表的链式存储构造优于顺序存储构造。

〔×〕8.在线性表的顺序存储构造中,插入和删除时移动元素的个数与该元素的位置有关。

〔√〕9.线性表的链式存储构造是用一组任意的存储单元来存储线性表中数据元素的。

〔√〕10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储构造。

〔×〕11.静态链表既有顺序存储的优点,又有动态链表的优点。

所以它存取表中第i 个元素的时间与i 无关。

〔×〕12.线性表的特点是每个元素都有一个前驱和一个后继。

〔×〕2.3.3 算法设计题1.设线性表存放在向量A[arrsize] 的前 elenum 个分量中,且递增有序。

试写一算法,将x 插入到线性表的适当位置上,以保持线性表的有序性,并且分析算法的时间复杂度。

【提示】直接用题目中所给定的数据构造〔顺序存储的思想是用物理上的相邻表示逻辑上的相邻,不一定将向量和表示线性表长度的变量封装成一个构造体〕,因为是顺序存储,分配的存储空间是固定大小的,所以首先确定是否还有存储空间,假设有,那么根据原线性表中元素的有序性,来确定插入元素的插入位置,后面的元素为它让出位置,〔也可以从高低标端开始一边比拟,一边移位〕然后插入x ,最后修改表示表长的变量。

int insert (datatype A[],int *elenum,datatype x)/* 设 elenum 为表的最大下标*/ {if (*elenum==arrsize-1)return 0;/* 表已满,无法插入*/else {i=*elenum;while (i>=0 && A[i]>x)/* 边找位置边移动*/{A[i+1]=A[i];i--;}/* 插入成功 */A[i+1]=x;(*elenum)++;return 1;}}时间复杂度为O(n) 。

数据结构与算法分析习题与参考答案

数据结构与算法分析习题与参考答案

大学《数据结构与算法分析》课程习题及参考答案模拟试卷一一、单选题(每题 2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。

A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。

以下6-8题基于图1。

6.该二叉树结点的前序遍历的序列为( )。

A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。

A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。

A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。

A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。

数据结构与算法作业答案

数据结构与算法作业答案

《数据结构与算法》作业参考答案说明:1、题号形式: 每题都以【sn,cha,sec】开头,sn表明本题的题目序号,每道题都有唯一的序号;cha表示内容所在的章;sec表示内容所在的节。

如:【17,2,1】表示序号17的题来自第2章第1节。

2、题型:1) 选择题:序号1-180题2) 是非题:序号181-220题3) 分析计算作图题:序号221-250题(选自《数据结构题集》—严蔚敏等编)3、内容取舍:根据本学期上课课件中的内容,未上课章节的练习可舍弃。

4、必做题或选做题:是非题和选择题(序号1-220)只要在上过课的章节中都是必做题,分析计算作图题(序号221-250)在每题后标出是必做题还是选做题,其中16个必做题14个选做题。

1) 选择题:序号1-180题序号参考答案1 BD2 D3 C4 A5 C6 D7 C8 D9 B10 D11 B12 D13 C14 C15 D16 A17 A18 A19 A20 A21 A22 D24 A25 B26 C27 C28 C29 B30 B31 B32 B33 B34 A35 A36 C37 D38 D39 B40 C41 B42 A43 D44 B45 D46 B47 C48 C49 B50 B51 A52 D53 D54 C55 A56 A57 C58 C59 C60 B61 A62 D64 B65 C66 B67 D68 D69 B70 A71 C72 B73 A74 D75 D76 B77 C78 C79 D80 B81 D82 C83 B84 A85 B86 C87 D88 B89 B90 B91 D92 C93 D94 A95 C96 C97 B98 A99 C 100 C 101 A 102 D 103 C105 C 106 D 107 C 108 B 109 B 110 D111 A 112 B 113 A 114 B 115 C 116 D 117 B 118 C 119 A 120 B121 A 122 A 123 C 124 C 125 B 126 B 127 B 128 C 129 C 130 B131 A 132 D 133 AB 134 D 135 C 136 C 137 B 138 A 139 B 140 B141 D 142 A 143 B145 A146 A147 C148 B149 C150 A151 B152 B153 C154 B155 A156 C157 C158 C159 A160 B161 C162 A163 A164 D165 B166 C167 D168 C169 C170 B171 B172 C173 B174 D175 C176 D177 B178 A179 A180 B2) 是非题:序号181-220题181 T182 T183 F184 T185 T186 F187 T188 T189 T190 T191 F192 T193 T194 F195 F196 T197 F198 T199 F200 T201 T202 T203 F204 T205 T206 F207 T208 T209 F210 T211 F212 T213 T214 F215 T216 T217 F218 T219 T220 F3) 分析计算作图题:序号221-250(选自《数据结构题集》—严蔚敏等编)【221,1,4】(选自《数据结构题集》1.8,选做题)设n为正整数,试确定下列各段程序中前置以记号@的语句的频度(语句的频度指的是该语句重复执行的次数)。

数据结构与算法课后习题解答

数据结构与算法课后习题解答

数据结构与算法课后习题解答数据结构与算法课后习题解答第一章绪论(参考答案)1.3 (1) O(n)(2) (2) O(n)(3) (3) O(n)(4) (4) O(n1/2)(5) (5) 执行程序段的过程中,x,y值变化如下:循环次数x y0(初始)91 1001 92 1002 93 100。

9 100 10010 101 10011 9112。

20 9921 91 98。

30 101 9831 91 97到y=0时,要执行10*100次,可记为O(10*y)=O(n)数据结构与算法课后习题解答1.5 2100 , (2/3)n , log2n , n1/2 , n3/2 , (3/2)n , nlog2n , 2 n , n! , n n第二章线性表(参考答案)在以下习题解答中,假定使用如下类型定义:(1)顺序存储结构:#define ***** 1024typedef int ElemType;// 实际上,ElemTypetypedef struct{ ElemType data[*****];int last; // last}sequenlist;(2*next;}linklist;(3)链式存储结构(双链表)typedef struct node{ElemType data;struct node *prior,*next;数据结构与算法课后习题解答}dlinklist;(4)静态链表typedef struct{ElemType data;int next;}node;node sa[*****];2.1 la,往往简称为“链表la”。

是副产品)2.2 23voidelenum个元素,且递增有序,本算法将x插入到向量A中,并保持向量的{ int i=0,j;while (ielenum A[i]=x) i++; // 查找插入位置for (j= elenum-1;jj--) A[j+1]=A[j];// 向后移动元素A[i]=x; // 插入元素数据结构与算法课后习题解答} // 算法结束24void rightrotate(ElemType A[],int n,k)// 以向量作存储结构,本算法将向量中的n个元素循环右移k位,且只用一个辅助空间。

数据结构与算法离线作业 答案知识讲解

数据结构与算法离线作业 答案知识讲解

数据结构与算法离线作业答案浙江大学远程教育学院《数据结构与算法》课程离线作业姓名:陈翠学号:713009014001年级:2013秋学习中心:金华学习中心—————————————————————————————一、填空题:(【序号,章,节】。

)【1,1,2】线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

【2,1,2】为了最快地存取数据元素,物理结构宜采用顺序存储结构。

【3,1,2】存储结构可根据数据元素在机器中的位置是否一定连续分为顺序存储结构___,链式存储结构___。

【4,1,3】度量算法效率可通过时间复杂度___来进行。

【5,1,3】设n 为正整数,下面程序段中前置以记号@的语句的频度是n(n+1)/2 。

for (i=0; i<n; i++){for (j=0; j<n; j++)if (i+j==n-1)@ a[i][j]=0;}【6,1,3】设n 为正整数,试确定下列各程序段中前置以记号@的语句的频度:收集于网络,如有侵权请联系管理员删除(1) i=1; k=0;while (i<=n-1){i++;@ k+=10 * i; // 语句的频度是_________n-1_______________。

}(2) k=0;for (i=1; i<=n; i++){for (j=i; j<=n; j++)@ k++; // 语句的频度是_________n(n+1)/2________________。

}【7,3,2】线性表(a1,a2,…,a n)有两种存储结构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充: ___顺序_ 存储密度较大;___顺序____存储利用率较高;___顺序____可以随机存取;__链式_____不可以随机存取;__链式____插入和删除操作比较方便。

【8,3,2】从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。

数据结构与算法设计课后习题及答案详解

数据结构与算法设计课后习题及答案详解

第一章1.数据结构研究的主要内容包括逻辑结构、存储结构和算法。

2.数据元素是数据的基本单位,数据项是数据的最小标示单位。

3.根据数据元素之间关系的不同,数据的逻辑结构可以分为集合、树形、线性、图状。

4.常见的数据存储结构有四种类型:顺序、链式、索引、散列。

5.可以从正确性、可读性、健壮性、高效性四方面评价算法的质量。

6.在一般情况下,一个算法的时间复杂度是问题规模的函数。

7.常见时间复杂度有:常数阶O(1)、线性阶O(n)、对数阶O(log2 n)、平方阶O(n²)和指数阶O(2ⁿ)。

通常认为,具有常数阶量级的算法是好算法,而具有指数阶量级的算法是差算法。

8.时间复杂度排序由大到小(n+2)!>2ⁿ+²>(n+2)4次方>nlog2 n>100000.问答题:1.什么叫数据元素?数据元素是数据的基本单位,是数据这个集合的个体,也称为元素、结点、顶点、记录。

2.什么叫数据逻辑结构?什么叫数据存储结构?数据逻辑结构:指数据元素之间存在的固有的逻辑结构。

数据存储结构:数据元素及其关系在计算机内的表示。

3.什么叫抽象数据类型?抽象数据类型是指数据元素集合以及定义在该集合上的一组操作。

4.数据元素之间的关系在计算机中有几种表示方法?顺序、链式、索引、散列。

5.数据的逻辑结构与数据的存储结构之间存在着怎样的关系?相辅相成,不可分割。

6.什么叫算法?算法的性质有哪些?算法:求解问题的一系列步骤的集合。

可行性、有容性、确定性、有输入、有输出。

7.评价一个算法的好坏应该从哪几方面入手?正确性、可读性、健壮性、高效性。

第二章1.线性表中,第一个元素没有直接前驱,最后一个元素没有直接后继。

2.线性表常用的两种存储结构分别是顺序存储结构和链式存储结构。

3.在长度为n的顺序表中,插入一个新元素平均需要移动表中的n/2个元素,删除一个元素平均需要移动(n-1)/2个元素。

4.在长度为n的顺序表的表头插入一个新元素的时间复杂度为O(n),在表尾插入一个新元素的时间复杂度为O(1)。

《数据结构与算法》习题与答案

《数据结构与算法》习题与答案

《数据结构与算法》习题与答案(解答仅供参考)一、名词解释:1. 数据结构:数据结构是计算机存储、组织数据的方式,它不仅包括数据的逻辑结构(如线性结构、树形结构、图状结构等),还包括物理结构(如顺序存储、链式存储等)。

它是算法设计与分析的基础,对程序的效率和功能实现有直接影响。

2. 栈:栈是一种特殊的线性表,其操作遵循“后进先出”(Last In First Out, LIFO)原则。

在栈中,允许进行的操作主要有两种:压栈(Push),将元素添加到栈顶;弹栈(Pop),将栈顶元素移除。

3. 队列:队列是一种先进先出(First In First Out, FIFO)的数据结构,允许在其一端插入元素(称为入队),而在另一端删除元素(称为出队)。

常见的实现方式有顺序队列和循环队列。

4. 二叉排序树(又称二叉查找树):二叉排序树是一种二叉树,其每个节点的左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。

这种特性使得能在O(log n)的时间复杂度内完成搜索、插入和删除操作。

5. 图:图是一种非线性数据结构,由顶点(Vertex)和边(Edge)组成,用于表示对象之间的多种关系。

根据边是否有方向,可分为有向图和无向图;根据是否存在环路,又可分为有环图和无环图。

二、填空题:1. 在一个长度为n的顺序表中,插入一个新元素平均需要移动______个元素。

答案:(n/2)2. 哈希表利用______函数来确定元素的存储位置,通过解决哈希冲突以达到快速查找的目的。

答案:哈希(Hash)3. ______是最小生成树的一种算法,采用贪心策略,每次都选择当前未加入生成树且连接两个未连通集合的最小权重边。

答案:Prim算法4. 在深度优先搜索(DFS)过程中,使用______数据结构来记录已经被访问过的顶点,防止重复访问。

答案:栈或标记数组5. 快速排序算法在最坏情况下的时间复杂度为______。

《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案

2.3 课后习题解答2.3.2 判断题1.线性表的逻辑顺序与存储顺序总是一致的。

(×)2.顺序存储的线性表可以按序号随机存取。

(√)3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

(×)4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。

(√)5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。

(×)6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

(√)7.线性表的链式存储结构优于顺序存储结构。

(×)8.在线性表的顺序存储结构中,插入和删除时移动元素的个数与该元素的位置有关。

(√)9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

(√)10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

(×)11.静态链表既有顺序存储的优点,又有动态链表的优点。

所以它存取表中第i个元素的时间与i无关。

(×)12.线性表的特点是每个元素都有一个前驱和一个后继。

(×)2.3.3 算法设计题1.设线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。

试写一算法,将x 插入到线性表的适当位置上,以保持线性表的有序性,并且分析算法的时间复杂度。

【提示】直接用题目中所给定的数据结构(顺序存储的思想是用物理上的相邻表示逻辑上的相邻,不一定将向量和表示线性表长度的变量封装成一个结构体),因为是顺序存储,分配的存储空间是固定大小的,所以首先确定是否还有存储空间,若有,则根据原线性表中元素的有序性,来确定插入元素的插入位置,后面的元素为它让出位置,(也可以从高下标端开始一边比较,一边移位)然后插入x ,最后修改表示表长的变量。

int insert (datatype A[],int *elenum,datatype x) /*设elenum为表的最大下标*/ {if (*elenum==arrsize-1) return 0; /*表已满,无法插入*/else {i=*elenum;while (i>=0 && A[i]>x) /*边找位置边移动*/{A[i+1]=A[i];i--;}A[i+1]=x; /*找到的位置是插入位的下一位*/(*elenum)++;return 1; /*插入成功*/}}时间复杂度为O(n)。

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

浙江大学远程教育学院《数据结构与算法》课程离线作业姓名:陈翠学号:713009014001年级:2013秋学习中心:金华学习中心一、填空题:(【序号,早,节】oooooo)【1,1,2】线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系【2,1,2】为了最快地存取数据元素,物理结构宜采用_____________________ 顺序存储_结构。

【3,1,2】存储结构可根据数据元素在机器中的位置是否一定连续分为_顺序存储结构—,—链式存储结构—o【4,1,3】度量算法效率可通过—时间复杂度—来进行。

【5,1,3】设n为正整数,下面程序段中前置以记号@的语句的频度是 _n(n+1)/2____ ofor (i=0; i<n; i++){for (j=0; j <n; j++)if (i+j==n-1)@ a[i][j]=0;}【6 , 1 , 3】设n为正整数,试确定下列各程序段中前置以记号@的语句的频度:(1) i=1; k=0;while (i<=n-1){i++;@ k+=10 * i; // 语句的频度是 ________________ n-1 ______________ 。

}⑵ k=0;for (i=1; i<=n; i++){for (j=i; j<=n; j++)@ k++; // 语句的频度是___________ n(n+1)/2 ________________ }【7, 3 , 2】线性表(a1 , a2,…,a n)有两种存储结构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充:____ 顺序_存储密度较大;顺序________ 储利用率较高;___顺序____ 可以随机存取;—链式______ 可以随机存取;—链式 _____ ■插入和删除操作比较方便。

【8,3,2】从一个长度为n的顺序表中删除第i个元素(1 < i < n)时,需向前移动n-i _个元素。

【9 , 3 , 2】带头结点的单链表Head为空的条件是 _ Head-〉next=NULL _ ___ _____ 。

【10, 3 , 2】在一个单链表中p所指结点(P所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=__ p->next ______ ;和p->next= __ s_ ____ 的操作。

【11 , 3 , 2】在一个单链表中删除p所指结点时,应执行以下操作:q= p->n ext;p->data= p->n ext->data;p->n ext= __ p->n ext- >n ext __ ;free(q);【12 , 3 , 2】带头结点的单循环链表Head的判空条件是_ Head->next == Head _____;不带头结点的单循环链表的判空条件是_ Head == NULL ______ 。

13,3,2】已知L 是带表头结点的非空单链表, 且P 结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

a. 删除P结点的直接前驱结点的语句序列是_10 12 8 11 4 14.b. 删除结点P的语句序列是__10 12 7 3 14 ______ 。

c. 删除尾元结点的语句序列是____ 9 11 3 14 ____ 。

(1) P = P->next;(2) P->next = P;(3) P->next = P->next ->next;(4) P = P->next ->next;(5) while (P != NULL ) P = P->next;(6) while (Q->next != NULL ){P = Q; Q = Q->next};(7) while (P->next != Q) P = P->next;(8) while (P->next->next != Q) P = P->next;(9) while (P->next->next != NULL ) P = P->next;(10) Q = P;(11) Q = P->next;(12) P = L;(13) L = L->next;(14) free (Q);【14 , 3 , 3】对一个栈,给定输入的顺序是A、B、C,贝U全部不可能的输出序列有 ____ 不可能得到的输出序列有CAB ___________ 。

【15,3,3】.在栈顶指针为HS的链栈中,判定栈空的条件是head-〉next==NULL【16,3,3】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。

void conv ersio n10_16(){ In itStack(&s);scanf( “ %c” ,&N);while(N){① ______ Push(s, N%16) ________ ;N = N/16;}while(!StackEmpty(s)){②______ Pop(s, e) ______________ ;if(e<=9)printf( “ %c” ,e);else printf( %c-10+' A');} /* con versi on */【17,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和fron t=3。

当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是 2 和___ 4 _0【18 , 3, 4】堆栈和队列都是线性表,堆栈是 _______ 进先出_______ 的线性表,而队列是 ___ 进先出_________ 的线性表。

【19,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和front=3o当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是_2 _和_4 _o【20 , 4 ,2】已知一棵树边的集合是{va,d>,<d,c>,vd,j>,ve,a>,vf,g>,vd,b>,vg,h>,vg,i>,ve,f>} 。

那么根结点是 _e_,结点b的双亲是_d_,结点a的子孙有_bcdj _,树的深度是_4_,树的度是3 _,结点g在树的第—3_层。

【21,4,3】从概念上讲,树与二叉树是二种不同的数据结构,将树转化为二叉树的基本的目的是—树可采用二叉树的存储结构并利用二叉树的已有算法解决树的有关问题【22 , 4 , 3】满三叉树的第i层的结点个数为—3i-1 _______ ,深度为h时该树中共有3 -1h 结点【23 , 4 , 3】已知一棵完全二叉树有56个叶子结点,从上到下、从左到右对它的结点进行编号,根结点为1号。

则该完全二叉树总共结点有—111 ________ 个;有_7—层; 第91号结点的双亲结点是45_号;第63号结点的左孩子结点是32 ____________ 号<【24,4,3】下列表示的图中,共有___5 ____ 个是树;有___3 ___ 个是二叉树;有__2个是完全二叉树。

【25, 4 , 4】n 个结点的二叉排序树的最大深度是 _n _,最小深度为_[log2n]+1【26 , 4 , 3】如果某二叉树的后序遍历序列是 ACBIDFEHG ,则其先序遍历序列的第一个字母是 _ I【27,4,3】下列二叉树的中序遍历序列是_DBNGOAEC__;后序遍历序列是 _____ D NIGBECA _______【28,5,4】设HASH 表的大小为 n (n=10), HASH 函数为h(x)=x % 7,如果二次探测再散列方法 Hi=(H(key)+di) mod 10 (di = 1 2,22,32,…,)解决冲突,在HASH 表中 依次插入关键字{1,14,55,20,84,27} 以后,关键字1、20和27所在地址的下标分别是 1、__7__和5 。

插入上述6个元素的平均比较次数是_J_。

【29,6,3】设无权图G 的邻接矩阵为A ,若(vi,vj )属于图G 的边集合,则对应元素A[i][j]等于1, 22、设无向图G 的邻接矩阵为A ,若A[i][j]等于0,则A[j][i]等于ABCDEFGHI ,中序遍历序列是,最后一个字母是 G0 。

【30 , 6 , 3】若一个图用邻接矩阵表示,则删除从第i个顶点出发的所有边的方法是_矩阵第i行全部置为零_______ 。

【31,6,2】设一个图G={V,{A}},V={a,b,c,d,e,f},A={va,b>,<b,e>,va,e>,vc,a>,ve,d>,vd,f>,vf,c>} 。

那么顶点e的入度是 2 ;出度是 1 ;通过顶点f的简单回路有 2 条;就连通性而言,该图是—强连通_图;它的强连通分量有_J_个;其生成树可能的最大深度是_5 ____________ 。

【32,7,1】排序过程一般需经过两个基本操作,它们是—比较—和—移动_。

【33,7,2】在对一组关键字是(54,38,96,45,15,72,60,23,83 )的记录进行直接插入排序时,当把第七个记录(关键字是60 )插入到有序表时,为寻找插入位置需比较3次。

【34,7,4】插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序、和基数排序方法中,不稳定的排序方法有—希尔排序_快速排序_堆排序_。

、综合题(选自教材《数据结构》各章习题,采用word 文件格式上传)1,1,3】试分析下面一段代码的时间复杂度:if ( A > B ){for ( i=0; i<N; i++ )for ( j=N*N; j>i; j-- )A += B; //A=A+B}else {for ( i=0; i<N*2; i++ )for ( j=N*2; j>i; j-- )A += B; //A=A+B}Answer :if A>B 为真,则for 语句的外循环N 次,内循环为N (N-1 )次,因此时间复杂度为0(N* N (N-1 )),也就是N的三次方。

if A>B 为假,则for 语句的外循环2N 次,内循环为N 次,因此时间复杂度为O2N*N ),也就是N 的平方。

【2, 1 , 3】测试例1.3中秦九韶算法与直接法的效率差别。

相关文档
最新文档