《数据结构》复习宝典
数据结构考试必过宝典

期末复习:1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①____、数据信息在计算机中的②_____以及一组相关的运算等的课程。
①A.操作对象B.计算方法C.逻辑结构D.数据映象②A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①____的有限集合,R是D上的②____有限集合。
①A.算法B.数据元素C.数据操作D.数据对象②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成______。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4. 算法分析的目的是①_____,算法分析的两个主要方面是②_____ 。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性5. 计算机算法指的是①____ ,它必具备输入、输出和②_____等五个特性。
① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性答案:1、C,A2、B,D 3、C 4、C,A5、C,B1. 数据逻辑结构包括__________、_________和__________三种类型,树形结构和图形结构合称为__________。
2. 在线性结构中,第一个结点________前驱结点,其余每个结点有且只有_______个前驱结点;最后一个结点________后续结点,其余每个结点有且只有______个后续结点。
3. 在树形结构中,树根结点没有______结点,其余每个结点有且只有_______个直接前驱结点,叶子结点没有_______结点,其余每个结点的直接后续结点可以______。
数据结构复习资料(亲自整理)

数据结构复习资料(亲自整理)1、链表是一种存储数据的链式结构,每个数据之间都是相关联的。
2、线性结构是一个有序数据元素的集合,包括线性表、栈、队列、双队列、数组和串。
3、树是由n(n>=1)个有限节点组成一个具有层次关系的集合,而二叉树是每个结点最多有两个子树的有序树。
二叉树与树的主要差别在于,二叉树结点的最大度数为2,而树中结点的最大度数没有限制;二叉树的结点有左、右之分,而树的结点无左、右之分。
4、堆是一种可以被看做一棵树的数组对象,总是满足某个节点的值总是不大于或不小于其父节点的值,且堆总是一棵完全二叉树。
5、二叉排序树是一种满足以下递归定义的二叉树:若左子树非空,则左子树所有节点的值均小于它的根节点;若右子树非空,则右子树所有节点的值均大于于它的根节点;左右子树也分别为二叉排序树。
1、在已知前序遍历和中序遍历的情况下,可以通过画树的方法求得后序遍历。
具体步骤如下:首先根据前序遍历的特点,确定根节点;然后观察中序遍历,将左子树和右子树分别确定下来;接着对左子树和右子树分别进行递归,直到遍历完所有节点,最后得到后序遍历。
2、树和二叉树之间可以相互转换。
将树转换为二叉树的方法是:对于每个节点,将其第一个孩子作为其左孩子,将其兄弟作为其右孩子。
将二叉树转换为树的方法是:对于每个节点,将其右孩子作为其兄弟。
3、二叉树线索化是将二叉树中的空指针指向该节点在中序遍历中的前驱或后继节点的过程。
在线索二叉树中,一个结点是叶结点的充要条件为:左、右标志均是1.4、邻接表是图的一种链式存储结构,用于表示图中每个节点的邻居节点。
每个节点都有一个链表,存储着与该节点相邻的节点。
邻接表是一种图的存储结构,对于每个顶点建立一个单链表,单链表中的结点表示依附于该顶点的边(对于有向图是以该顶点为尾的弧)。
邻接表中的表结点和头结点分别表示边和顶点,包含信息如下:表结点adjvex(邻接点)。
nextarc(指向下一个表结点)(权值等信息);头结点data(顶点信息)和firstarc(指向第一个表结点)。
数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
(完整版)数据结构复习题目及答案

《数据结构-C语言版》第一章绪论单项选择题1.在数据结构中,数据的基本单位是_____ ____。
A. 数据项B. 数据类型C. 数据元素D. 数据变量2.数据结构中数据元素之间的逻辑关系被称为__ ____。
A. 数据的存储结构B. 数据的基本操作C. 程序的算法D. 数据的逻辑结构3.在数据结构中,与所使用计算机无关的是数据的____ ___。
A. 存储结构B. 逻辑和物理结构C. 逻辑结构D. 物理结构4.在链式存储结构中,数据之间的关系是通过____ ____体现的。
A. 数据在内存的相对位置B. 指示数据元素的指针C. 数据的存储地址D. 指针5.计算算法的时间复杂度是属于一种____ ___。
A. 事前统计的方法B. 事前分析估算的方法C. 事后统计的方法D. 事后分析估算的方法6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是____ __。
A. n2B. nlognC. nD. logn7.设使用某算法对n个元素进行处理,所需的时间是T(n)=100nlog2n+200n+2000,则该算法的渐近时间复杂度为____ ___。
A. O(1)B. O(n)C. O(200n)D. O(nlog2n)CDCBBDD第二章线性表单项选择题1.链表不具有的特点是____ ____。
A. 可随机访问任一元素B. 插入和删除时不需要移动元素C. 不必事先估计存储空间D. 所需空间与线性表的长度正比2.设顺序表的每个元素占8个存储单元。
第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为。
A. 139B. 140C. 147D. 1483.在线性链表存储结构下,插入操作算法。
A. 需要判断是否表满B. 需要判断是否表空C. 不需要判断表满D. 需要判断是否表空和表满4.在一个单链表中,若删除p所指结点的后继结点,则执行。
A. p->next = p->next->next;B. p->next = p->next;C. p = p->next->next;D. p = p->next; p->next = p->next->next;5.将长度为n的单链表接在长度为m的单链表之后的算法时间复杂度为。
数据结构复习题及答案

数据结构复习题及答案一、选择题1. 在数据结构中,以下哪种数据结构允许在任何位置进行插入和删除操作?A. 栈B. 队列C. 链表D. 数组答案:C2. 以下哪个选项是二叉搜索树的特性?A. 所有左子树的节点值小于根节点值B. 所有右子树的节点值大于根节点值C. 所有左子树的节点值大于根节点值D. 所有右子树的节点值小于根节点值答案:A3. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构?A. 栈B. 队列C. 链表D. 数组答案:A二、填空题1. 在一个有n个节点的完全二叉树中,如果节点按层次从上到下、从左到右编号为1, 2, 3, ..., n,则第i个节点的左孩子节点的编号为____。
答案:2i2. 哈希表解决冲突的一种方法是使用链地址法,其中每个哈希表项是一个____。
答案:链表3. 在图的表示方法中,邻接矩阵适合表示____图,邻接表适合表示____图。
答案:稠密;稀疏三、简答题1. 描述什么是递归,并给出一个简单的递归算法的例子。
答案:递归是一种在算法中调用自身的方法,用于解决可以分解为相似子问题的问题。
一个简单的递归算法例子是计算阶乘:n! = n * (n-1)!,其中基本情况是0! = 1。
2. 解释什么是图的广度优先搜索(BFS)算法,并说明其在哪些情况下适用。
答案:广度优先搜索(BFS)是一种遍历或搜索树或图的算法,它从根节点开始,逐层遍历节点。
BFS适用于寻找最短路径或在层次结构中按层次顺序访问节点的情况。
四、编程题1. 给定一个单链表,请编写一个函数来反转该链表。
答案:(此处省略具体代码实现,只提供解题思路)要反转一个单链表,可以创建一个新的链表头节点,然后遍历原链表,将每个节点的next指针指向前一个节点,直到链表末尾。
最后,将新链表的头节点设置为原链表的最后一个节点的前驱节点。
《数据结构C语言》考研复习题库

《数据结构C语言》考研复习题库一、选择题1、在一个具有 n 个单元的顺序栈中,假定以地址低端(即 0 单元)作为栈底,以 top 作为栈顶指针,当做出栈处理时,top 变化为()。
A top 不变B top = 0C topD top++答案:C解释:在顺序栈中,出栈操作会使栈顶指针 top 减 1,即 top。
2、一个队列的入队序列是 1,2,3,4,则队列的输出序列是()。
A 4,3,2,1B 1,2,3,4C 1,4,3,2D 3,2,4,1答案:B解释:队列是先进先出的数据结构,入队顺序为 1,2,3,4,那么出队顺序也为 1,2,3,4。
3、串是一种特殊的线性表,其特殊性体现在()。
A 可以顺序存储B 数据元素是一个字符C 可以链式存储D 数据元素可以是多个字符答案:B解释:串的数据元素是字符,这是它与一般线性表的区别。
4、设有一个 10 阶的对称矩阵 A,采用压缩存储方式,以行序为主存储,a11 为第一元素,其存储地址为 1,每个元素占一个地址空间,则 a85 的地址为()。
A 33B 32C 18D 40答案:A解释:对于对称矩阵,只存储其下三角或上三角部分。
对于一个 n阶对称矩阵,若以行序为主存储下三角部分,aij 的存储位置为 i(i 1)/2 + j 1。
所以 a85 的地址为 8(8 1)/2 + 5 1 = 33。
5、一棵完全二叉树共有 700 个结点,则在该二叉树中有()个叶子结点。
A 350B 349C 351D 不确定答案:C解释:根据完全二叉树的性质,度为 1 的结点个数最多为 1 个。
设n0 为叶子结点个数,n1 为度为 1 的结点个数,n2 为度为 2 的结点个数。
则 n = n0 + n1 + n2 ,n 1 = 2n2 + n1 。
因为 n = 700 ,且 n1 为 0或 1 ,通过计算可得 n0 = 351 。
二、填空题1、数据的逻辑结构被分为_____、_____、_____和_____四种。
数据结构复习题库

数据结构复习题库一、填空填1.数据结构及数据的逻辑结构包括集合、_________ 、_________、图形结构(网状结构)四种类型。
2.通常从四个方面评价算法的质量:、可读性、健壮性和______________________。
3.一种数据结构的元素集合K和它的二元关系R为K={a,b,c,d,e,f,g,h},R={<d,< p="">b>,,,,,,},该数据结构具有______结构。
4.在线性结构和树型结构中,前驱结点和后继结点之间分别存在着一对一和______的联系。
5.线性表、栈和队列都是_______结构,对于栈只能在_______插入和删除元素;对于队列只能在_______插入元素,在______删除元素。
6.子串“ABC”在主串“ABABCABCD”中的位置为______。
7.已知广义表A=(((a,b),(c),(d,e))), GetHead(GetTail(GetTail(GetHead(A))))的结果是______。
8.对于一棵具有n个结点的树,该树中所有结点的度数之和为______。
9.AOV网是一种___________的图。
10.一棵深度为k的满二叉树的结点总数为______,一棵深度为k 的完全二叉树的结点总数的最小值为______。
11.在一个具有n个顶点的有向完全图中,至多包含有______条边。
12.使用分块查找时是,除表本身外,尚需建立一个索引表,用来存放每一块中的最大___________及该块的起始地址。
13.一个好的哈希函数其转换地址应尽可能___________,而且函数运算应尽可能简单。
14.动态查找表和静态查找表的重要区别在于前者包含有插入和___________运算,而后者不包含这两种运算。
15.数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和______,并由此得到两种不同的存储结构是顺序存储结构和链式存储结构。
数据结构总复习+习题+解答

数据结构复习资料
数据结构总复习+习题解答
第一章 绪论
1.1 理解基本概念 1、数据是信息的载体,是描述客观事物的数、字符以及能输入到计算机中,被计算机识别 和处理的符号的集合。 2、数据元素是数据的基本单位,可由若干数据项组成。 3、数据对象是性质相同的数据元素的集合。 4、数据结构指某一数据元素集合中所有数据成员之间的关系,定义为: 数据结构={D,R} 5、数据结构三要素:逻辑结构,物理结构,作用于数据结构的运算。 6、逻辑结构:数据元素间的逻辑关系,分为线性结构和非线性结构(集合、树和图结构) 。 7、物理结构:数据元素及其关系在计算机上的映像,通常按顺序存储或链式存储。 8、抽象数据类型定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的 操作。特征:数据抽象和信息隐藏。 9、数据类型和数据结构的异同: 同:它们都具有抽象性,并不特指适用于何处,可根据问题需要用他们来表示数据元 素间的关系。 异:数据结构本身是一种数据的组织和使用形式,通过把数据定义成数据类型才能在 计算机上使用。 1.2 算法特性与性能分析 1、算法的定义:解决特定问题的一系列操作。 2、算法的 5 大特性(要素) :输入、输出、确定性、可行性和有限性。 3、算法时间复杂度分析:寻找关键操作(基本操作,通常为循环的最内层程序段) ,计算关 键操作的执行次数,一般结果为问题规模 n 的多项式。时间复杂度为该多项式的最高次幂。 T(n)=O(1)的含义:常量时间复杂度,表示算法执行时间与问题规模无关。 4、算法空间复杂度分析:算法执行时所需要的辅助空间。 S(n)=O(1)的含义: 常量空间复杂度,表示算法执行时需要的辅助空间与问题规模无关,也 称为算法原地工作。 题 1.1 如何理解抽象数据类型。 答:定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的操作。 题 1.2 数据元素间的逻辑结构关系有哪些。 答:四种。分别是集合结构、线性结构、树状结构、图状结构。 题 1.3 通常从时间复杂度和空间复杂度来评价算法的优劣。 题 1.4 下面算法的时间复杂度为(C) int i,j; for(i=0;i<m;i++) for(j=0;j<n;j++) a[i][j]=i*j;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试的目的是为了督促大家学习。
期末考试降至,将期末考试题型以及一些常见题目列举出来,希望大家抓紧时间提前开始复习,取得一个好成绩!考试题型一、简答题(4小题,20分)二、选择题(10小题,10分)三、填空题(10小题,20分)四、构造题(5小题,30分)五、算法设计题(2小题,20分)典型题目注意:以下可做参考,但考试范围覆盖全书,不仅仅包括以下题目。
1、四种基本逻辑结构及其图示。
2、抽象数据类型的定义。
3、算法的定义与特点。
4、顺序存储与链式存储的优缺点。
5、一维数组和顺序表的异同。
6、栈和队列为什么是限定性线性表?它们有什么不同?7、递归进层(退层)做哪三件事情?8、什么是特殊矩阵?压缩原则是什么?9、在图的遍历中,设置访问标志数组的作用是什么?10、求最小生成树有哪些方法?各自适合什么类型的图。
11、折半查找的前提有哪些?12、什么是平衡二叉排序树?平衡因子的取值范围有哪些?13、分块查找的基本思想。
14、分析二叉排序树的查找性能。
(最好、最坏和平均查找性能)15、什么是排序的稳定性?列举至少三个稳定的排序算法和三个不稳定排序算法。
更多可参照“数据结构习题补充.docx”,已上传到QQ群上。
1、在一棵平衡二叉排序树中,每个结点的平衡因子的取值范围是()A.-1~1 B.-2~2 C.1~2 D.0~12、在单链表中,下列说法正确的是()A.单链表中头结点是必不可少的;B.单链表中头指针是必不可少的;C.在单链表中可以实现随机存取;D.单链表的存储密度小于顺序表3、假设以数组A[M]存放循环队列的元素,其头尾指示器分别为front和rear,则当前队列中的元素个数为( )。
A.rear-front+1B. (rear-front+M)%MC. (front - rear +M)%MD. (rear-front+M)%M4、已知广义表L=((a,b,c),(d,e,f)),运用下列()运算可以得到结果:e。
A.head(tail(L))B.tail(head(L))C.head(tail(head(tail(L))))D.head(tail(tail(head(L))))5、线索二叉树中,某结点p是叶子结点,下列()表达式的值为真。
A.p->lchild= =NULLB.p->ltag= =1&&p->rtag= =1C.p->ltag= =0D.p->lchild= =NULL&& p->rchild= =NULL6、一个具有567个结点的完全二叉树的高度为()A.9B.10C.11D.127、具有n个顶点的强连通图,至少有()条边A.n-1 B.n C.n(n-1) D.n(n-1)/28、下列( )的邻接矩阵一定是对称矩阵。
A.有向图 B.无向图 C.AOV网 D.AOE网9、已知哈希函数为H(key)=key%p,哈希表长度为m,采用开放定址法处理冲突,若H(k1)地址冲突,则处理冲突定址为()。
A.(H(k1)+di)%p B. H(k1)+di C. (H(k1)+di)%m D. H(k1)-di10、快速排序方法在()情况下最不利于发挥其长处(性能最差)。
A.要排序的的数据量太大B.要排序的数据中含有多个相同的值C.要排序的数据有序D.要排序的数据个数是奇数更多可参照“数据结构习题补充.docx”,已上传到QQ群上。
1、设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。
与森林F对应的二叉树根结点的左子树上的结点个数是:(①)2、已知一棵完全二叉树第7层有10个叶子结点则该二叉树中叶子结点总数为(②)。
3、折半查找的两个前提条件分别是(③)和(④)4、下面的算法,s语句的语句频度是(⑤)。
for(int i=1;i<n-1;i++)for(int j=n;j>=i;j--)s;5、有向图的邻接表表示法中,第i条链上边表结点的个数为该顶点的(⑥)。
6、已知一个带头结点的链栈,其头指针为top;指针s指向一个新结点,要将结点s进栈,则进栈的语句应为:(⑦)和(⑧)。
7、有一种排序算法,其时间复杂度为O(n2),关键字比较次数与待排序记录的初始排列顺序无关且排序不稳定,则该排序算法是(⑨)8、一棵具有10个叶子结点的哈夫曼树中分支结点(即非叶子结点)数为⑩).1、构造二叉树。
(1)欲建立一棵二叉链表存储的二叉树,输入其扩展先序序列ABC##DE#G##F###,画出相应的二叉树。
(其中#代表空指针)(2)某二叉树的后序遍历序列为EDBFCA,中序遍历序列为EDBAFC,请画出该二叉树,并写出该二叉树的顺序存储结构。
2、哈夫曼编码。
假定用于通信的某电文仅由8个字母构成,各字母在电文中出现的频率分别为(12,5,3,7,14,21,9,15)。
请完成:(1)构造哈夫曼树;(2)为这8个字母设计不等长的Huffman编码,并计算WPL。
3、已知一个图的顶点为A、B、C、D,其邻接矩阵的下三角元素全为0(包括主对角线元素),其他元素均为1。
请画出该图,并给出其邻接表。
4、某有向图的邻接表存储结构如图所示,请写出从v0出发的深度和广度遍历序列,以及深度和广度优先生成树。
5、图的邻接矩阵存储结构如图所示,请写出从1出发的深度和广度遍历序列,以及深度和广度优先生成树。
6、最小生成树。
用普利姆算法(或者克鲁斯卡尔)从顶点A出发,构造如图所示连通网的最小生成树(写出过程)。
7、最短路径。
在下图中,求顶点1到其余各点的最短路径及路径长度。
8、折半查找性能分析。
画出10个元素的折半判定树,并计算等概率情况下的查找成功与不成功的查找长度。
9、哈希查找。
一个线性序列{38,25,74,63,52,48},假定采用散列函数Hash(key)=key%7来计算散列地址,将其散列存储在A[0~9]中,采用线性探测再散列解决冲突。
构造哈希表,并计算等概率情况下的查找成功和不成功的平均查找长度。
10、各种排序算法。
对序列{57,40,38,11,13,34,48,75,6,19,9,7}欲进行递增排序,请写出直接插入排序(或希尔排序、简单选择排序、冒泡排序、快速排序、归并排序)前三趟的排序过程。
11、排序。
对序列{57,40,38,11,13,34,48,75,6,19,9,7},采用堆排序算法进行递减排序,请构造相应的初始堆即建初堆(只写初堆结果即可)。
1、链表。
(1)一带头结点的单链表,删除最大(最小)元素。
(2)一带头结点的单链表,以第一个元素为基准,将小于该元素的结点全部放到前面,大于该元素的结点全部放到其后。
(3)某个带头结点的有序单链表L(元素从小到大),编写算法插入值为x 的元素,使插入后的链表依旧有序。
(4)已知带头结点的单链表L,编写算法删除L中从第k个结点开始的n 个结点。
(5)编写算法,求某一元多项式的导数。
函数说明为PolyNode* Derivative(PolyNode *PL),参数为一元多项式,返回值为该一元多项式导数的一元多项式链表头指针。
2、栈与队列(1)运用栈的基本运算,编写将一个十进制整数n转换为r(r<=16)进制的算法。
(2)运用栈的基本运算,判断一个表达式的括号是否匹配。
(3)在一个带头结点的循环链队列中只有尾指针rear,请给出这种队列的入队和出队操作的实现过程。
3、二叉树。
(1)二叉树采用顺序存储,编写算法实现该二叉树的中序遍历。
(2)二叉树采用链式结构存储,假设二叉树上的结点值各不相同,设计一个在二叉树中求值为e的结点的双亲结点。
(3)二叉树采用链式结构存储,编写算法实现二叉树的层次遍历。
(4)二叉树采用链式结构存储,编写算法,实现二叉树的左右子树交换。
(5)二叉树采用链式结构存储,编写算法,对某二叉树实现其后序线索化。
(6)二叉树采用链式结构存储,编写算法,在某先序线索二叉树中,查找某结点的后继结点。
(7)某树采用孩子-兄弟链表示,编写算法求该树的高度(或统计叶子的个数)(8)某树采用孩子-兄弟链表示,编写算法按(双亲,孩子)格式输出。
如图所示。
输出为(A,B) (A,C) (A,D) (B,E) (D,F) (D,G)4、图。
(1)在图的邻接矩阵存储结构上,实现图的广度(深度)优先遍历。
(会给出图的存储结构的C语言描述)(2)在一无向图中,输出其所有连通分量(每个连通分量由结点组成,不同连通分量之间用空格或回车分开即可)。
(3)编写算法,在某图中,判断从vi到vj是否有路径相通。
5、查找。
(1)编写折半查找算法。
(2)编写算法,构建哈希表。
(3)编写算法,进行哈希查找。
6、排序。
(1)对单链表head进行选择排序,排序后结点值从小到大排序。
(2)编写算法实现冒泡排序(直接插入排序、简单选择排序)。