2010台湾省数据结构考试重点和考试技巧
数据结构复习重点归纳
一、数据结构得章节结构及重点构成数据结构学科得章节划分基本上为:概论,线性表,栈与队列,串,多维数组与广义表,树与二叉树,图,查找,内排,外排,文件,动态存储分配.对于绝大多数得学校而言,“外排,文件,动态存储分配”三章基本上就是不考得,在大多数高校得计算机本科教学过程中,这三章也就是基本上不作讲授得。
所以,大家在这三章上可以不必花费过多得精力,只要知道基本得概念即可。
但就是,对于报考名校特别就是该校又有在试卷中对这三章进行过考核得历史,那么这部分朋友就要留意这三章了。
按照以上我们给出得章节以及对后三章得介绍,数据结构得章节比重大致为:概论:内容很少,概念简单,分数大多只有几分,有得学校甚至不考.线性表:基础章节,必考内容之一。
考题多数为基本概念题,名校考题中,鲜有大型算法设计题.如果有,也就是与其它章节内容相结合.栈与队列:基础章节,容易出基本概念题,必考内容之一。
而相联系进行考查。
串:基础章节,概念较为简单.专门针对于此章得大型算法设计题很少,较常见得就是根据KMP进行算法分析。
多维数组及广义表:基础章节,基于数组得算法题也就是常见得,分数比例波动较大,就是出题得“可选单元”或“侯补单元”.一般如果要出题,多数不会作为大题出.数组常与“查找,排序”等章节结合来作为大题考查。
树与二叉树:重点难点章节,各校必考章节。
各校在此章出题得不同之处在于,就是否在本章中出一到两道大得算法设计题。
通过对多所学校得试卷分析,绝大多数学校在本章都曾有过出大型算法设计题得历史。
图:重点难点章节,名校尤爱考。
如果作为重点来考,则多出现于分析与设计题型当中,可与树一章共同构成算法设计大题得题型设计。
查找:重点难点章节,概念较多,联系较为紧密,容易混淆。
出题时可以作为分析型题目给出,在基本概念型题目中也较为常见。
算法设计型题中可以数组结合来考查,也可以与树一章结合来考查。
排序:与查找一章类似,本章同属于重点难点章节,且概念更多,联系更为紧密,概念之间更容易混淆。
计算机等级考试中常见的数据结构题解题方法
计算机等级考试中常见的数据结构题解题方法数据结构是计算机科学中十分重要的一门学科,它研究的是数据的组织、存储方式以及数据之间的关系等。
在计算机等级考试中,数据结构题目常常涉及到不同的数据结构的使用和解题方法。
本文将介绍一些常见的数据结构题解题方法,帮助考生更好地应对这类题目。
一、栈(Stack)栈是一种具有“先进后出”特点的数据结构,常用的操作有入栈(push)、出栈(pop)以及获取栈顶元素(top)等。
在计算机等级考试中,栈常常被用于处理括号匹配、表达式求值、深度优先搜索等问题。
下面以括号匹配为例,介绍解题方法。
1. 括号匹配括号匹配是栈的经典应用,题目通常要求判断输入的括号序列是否合法。
解题思路如下:- 创建一个空栈;- 从左到右遍历括号序列;- 如果是左括号,则入栈;- 如果是右括号,且栈为空,则返回不合法;- 如果是右括号,且栈不为空,则出栈;- 最后判断栈是否为空,若为空则表示序列合法,若不为空则表示序列不合法。
二、队列(Queue)队列是一种具有“先进先出”特点的数据结构,常用的操作有入队(enqueue)、出队(dequeue)以及获取队首元素(front)等。
在计算机等级考试中,队列常常用于解决与时间有关的问题,如进程调度、排队等。
下面以进程调度为例,介绍解题方法。
1. 短作业优先调度算法短作业优先调度算法是一种常用的进程调度算法,它根据各个进程的执行时间长度来进行排序,并让执行时间最短的进程先执行。
解题步骤如下:- 将所有进程按照执行时间从小到大进行排序;- 依次执行排序后的进程。
三、链表(Linked List)链表是一种非连续存储结构,每个节点包含数据元素和指向下一个节点的指针。
链表的常用操作有插入、删除、查找等。
在计算机等级考试中,链表常常用于解决节点间关系较为复杂的问题,如查找中间节点、反转链表等。
下面以查找中间节点为例,介绍解题方法。
1. 查找中间节点题目要求查找链表中的中间节点,解题思路如下:- 使用两个指针,一个快指针和一个慢指针;- 快指针每次移动两个节点,慢指针每次移动一个节点;- 当快指针到达链表末尾时,慢指针就指向了中间节点。
2010年自学考试《数据结构》各章复习要点总结
2010年自学考试《数据结构》各章复习要点总结(4)龙耒为你整理:第七章图图的逻辑结构特征就是其结点(顶点)的前趋和后继的个数都是没有限制的,即任意两个结点之间之间都可能相关。
图GraphG=(V,E),V是顶点的有穷非空集合,E是顶点偶对的有穷集。
有向图Digraph:每条边有方向;无向图Undigraph:每条边没有方向;有向完全图:具有n*(n-1)条边的有向图;无向完全图:具有n*(n-1)/2条边的无向图;有根图:有一个顶点有路径到达其它顶点的有向图;简单路径:是经过顶点不同的路径;简单回路:是开始和终端重合的简单路径;网络:是带权的图。
图的存储结构:·邻接矩阵表示法:用一个n阶方阵来表示图的结构是唯一的,适合稠密图。
·无向图:邻接矩阵是对称的。
·有向图:行是出度,列是入度。
建立邻接矩阵算法的时间是O(n+n^2+e),其时间复杂度为O(n^2)·邻接表表示法:用顶点表和邻接表构成不是唯一的,适合稀疏图。
·顶点表结构 vertex | firstedge,指针域存放邻接表头指针。
·邻接表:用头指针确定。
·无向图称边表;·有向图又分出边表和逆邻接表;·邻接表结点结构为 adjvex | next,时间复杂度为O(n+e),空间复杂度为O(n+e)。
图的遍历:·深度优先遍历:借助于邻接矩阵的列。
使用栈保存已访问结点。
·广度优先遍历:借助于邻接矩阵的行。
使用队列保存已访问结点。
生成树的定义:若从图的某个顶点出发,可以系统地访问到图中所有顶点,则遍历时经过的边和图的所有顶点所构成的子图称作该图的生成树。
最小生成树:图的生成树不唯一,从不同的顶点出发可得到不同的生成树,把权值最小的生成树称为最小生成树(MST)。
构造最小生成树的算法:·Prim算法的时间复杂度为O(n^2)与边数无关适于稠密图。
数据结构复习资料复习提纲知识要点归纳
数据结构复习资料复习提纲知识要点归纳数据结构复习资料:复习提纲知识要点归纳一、数据结构概述1. 数据结构的定义和作用2. 常见的数据结构类型3. 数据结构与算法的关系二、线性结构1. 数组的概念及其特点2. 链表的概念及其分类3. 栈的定义和基本操作4. 队列的定义和基本操作三、树结构1. 树的基本概念及定义2. 二叉树的性质和遍历方式3. 平衡二叉树的概念及应用4. 堆的定义和基本操作四、图结构1. 图的基本概念及表示方法2. 图的遍历算法:深度优先搜索和广度优先搜索3. 最短路径算法及其应用4. 最小生成树算法及其应用五、查找与排序1. 查找算法的分类及其特点2. 顺序查找和二分查找算法3. 哈希查找算法及其应用4. 常见的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序六、高级数据结构1. 图的高级算法:拓扑排序和关键路径2. 并查集的定义和操作3. 线段树的概念及其应用4. Trie树的概念及其应用七、应用案例1. 使用数据结构解决实际问题的案例介绍2. 如何选择适合的数据结构和算法八、复杂度分析1. 时间复杂度和空间复杂度的定义2. 如何进行复杂度分析3. 常见算法的复杂度比较九、常见问题及解决方法1. 数据结构相关的常见问题解答2. 如何优化算法的性能十、总结与展望1. 数据结构学习的重要性和难点2. 对未来数据结构的发展趋势的展望以上是数据结构复习资料的复习提纲知识要点归纳。
希望能够帮助你进行复习和回顾,加深对数据结构的理解和掌握。
在学习过程中,要注重理论与实践相结合,多进行编程练习和实际应用,提高数据结构的实际运用能力。
祝你复习顺利,取得好成绩!。
2010年台湾省重要数据高级
1、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度{BiTree p=bt,l[],s[]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点int i,top=0,tag[],longest=0;while(p || top>0){ while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下if(tag[top]==1) //当前结点的右分枝已遍历{if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度if(top>longest) {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;}//保留当前最长路径到l栈,记住最高栈顶指针,退栈}else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下}//while(p!=null||top>0)}//结束LongestPath2、设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左,右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。
N2、NL、NR、N0都是全局量,且在调用count(t)之前都置为0.typedef struct node{int data; struct node *lchild,*rchild;}node;int N2,NL,NR,N0;void count(node *t){if (t->lchild!=NULL) if (1)___ N2++; else NL++;else if (2)___ NR++; else (3)__ ;if(t->lchild!=NULL)(4)____; if (t->rchild!=NULL) (5)____;}26.树的先序非递归算法。
2010年自学考试《数据结构》各章复习要点总结
2010年自考《数据结构》复习要点总结第一章第一章概论数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,可以由若干个数据项组成。
数据项是具有独立含义的最小标识单位。
数据结构的定义:·逻辑结构:从逻辑结构上描述数据,独立于计算机。
·线性结构:一对一关系。
·线性结构:多对多关系。
·存储结构:是逻辑结构用计算机语言的实现。
·顺序存储结构:如数组。
·链式存储结构:如链表。
·稠密索引:每个结点都有索引项。
·稀疏索引:每组结点都有索引项。
·散列存储结构:如散列表。
·对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。
·常用的有:检索、插入、删除、更新、排序。
·数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
·原子类型:由语言提供。
·结构类型:由用户借助于描述机制定义,是导出类型。
抽象数据类型ADT:·是抽象数据的组织和与之的操作。
相当于在概念层上描述问题。
·优点是将数据和操作封装在一起实现了信息隐藏。
程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。
算法取决于数据结构。
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:·算法是正确的;·执行算法的时间;·执行算法的存储空间(主要是辅助存储空间);·算法易于理解、编码、调试。
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。
时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。
数据结构必考知识点总结
数据结构必考知识点总结在准备考试时,了解数据结构的基本概念和相关算法是非常重要的。
以下是一些数据结构的必考知识点总结:1. 基本概念数据结构的基本概念是非常重要的,包括数据、数据元素、数据项、数据对象、数据类型、抽象数据类型等的概念。
了解这些概念有助于更好地理解数据结构的本质和作用。
2. 线性表线性表是数据结构中最基本的一种,它包括顺序表和链表两种实现方式。
顺序表是将数据元素存放在一块连续的存储空间内,而链表是将数据元素存放在若干个节点中,每个节点包含数据和指向下一个节点的指针。
了解线性表的概念和基本操作是非常重要的。
3. 栈和队列栈和队列是两种特殊的线性表,它们分别具有后进先出和先进先出的特性。
栈和队列的实现方式有多种,包括数组和链表。
掌握栈和队列的基本操作和应用是数据结构的基本内容之一。
4. 树结构树是一种非线性的数据结构,它包括二叉树、多路树、二叉搜索树等多种形式。
了解树的基本定义和遍历算法是必考的知识点。
5. 图结构图是一种非线性的数据结构,它包括有向图和无向图两种形式。
了解图的基本概念和相关算法是非常重要的,包括图的存储方式、遍历算法、最短路径算法等。
6. 排序算法排序是一个非常重要的算法问题,掌握各种排序算法的原理和实现方式是必不可少的。
常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等。
7. 查找算法查找是另一个重要的算法问题,包括顺序查找、二分查找、哈希查找、树查找等。
了解各种查找算法的原理和实现方式是必考的知识点之一。
8. 算法复杂度分析算法的时间复杂度和空间复杂度是评价算法性能的重要指标,掌握复杂度分析的方法和技巧是非常重要的。
9. 抽象数据类型ADT是数据结构的一种概念模型,它包括数据的定义和基本操作的描述。
了解ADT的概念和实现方式是非常重要的。
10. 动态存储管理动态存储管理是数据结构中一个重要的问题,包括内存分配、内存释放、内存回收等。
了解动态存储管理的基本原理和实现方式是必考的知识点之一。
数据结构复习重点
数据结构复习重点数据结构是计算机科学中非常重要的一门学科,它关注的是如何组织和存储数据,以及如何通过算法处理和操作这些数据。
在计算机领域中,数据结构的掌握对于问题解决和算法设计至关重要。
本文将介绍数据结构的一些复习重点,以帮助读者更好地掌握这一学科。
一、线性数据结构线性数据结构是最简单和最常见的数据结构之一,它按照线性的方式组织和存储数据。
其中包括数组、链表、栈和队列等。
在复习线性数据结构时,需要重点关注以下几个方面:1. 数组(Array):数组是一组按照连续内存地址存储的元素。
复习时需要了解数组的基本操作,如插入、删除和查找,以及数组的优缺点和应用场景。
2. 链表(Linked List):链表是一种通过节点之间的引用链接在一起的数据结构。
复习时需要了解链表的种类,如单向链表、双向链表和循环链表,以及链表的基本操作和应用场景。
3. 栈(Stack):栈是一种遵循后进先出(LIFO)原则的数据结构。
复习时需要了解栈的基本操作,如压栈和弹栈,以及栈的应用,如函数调用和表达式求值等。
4. 队列(Queue):队列是一种遵循先进先出(FIFO)原则的数据结构。
复习时需要了解队列的基本操作,如入队和出队,以及队列的应用,如BFS算法等。
二、非线性数据结构非线性数据结构是相对于线性数据结构而言的,它的数据元素之间存在多对多的关系。
其中包括树(Tree)和图(Graph)等。
复习非线性数据结构时,需要重点关注以下几个方面:1. 树(Tree):树是一种由节点和边组成的层次结构。
复习时需要了解树的种类,如二叉树、平衡二叉树和堆等,以及树的遍历方式,如前序、中序和后序遍历,以及树的应用,如查找和排序等。
2. 图(Graph):图是一种由节点和边组成的网络结构。
复习时需要了解图的种类,如有向图和无向图,以及图的表示方式,如邻接矩阵和邻接表,以及图的遍历方式,如深度优先搜索和广度优先搜索,以及图的应用,如最短路径和网络流等。
数据结构考试重点必背
:数据结构课程的任务是:讨论数据的各种逻辑结构、在计算机中的存储结构以及各种操作的算法设计。
:数据:是客观描述事物的数字、字符以及所有的能输入到计算机中并能被计算机接收的各种集合的统称。
数据元素:表示一个事物的一组数据称作是一个数据元素,是数据的基本单位。
数据项:是数据元素中有独立含义的、不可分割的最小标识单位。
数据结构概念包含三个方面:数据的逻辑结构、数据的存储结构的数据的操作。
数据的逻辑结构指数据元素之间的逻辑关系,用一个数据元素的集合定义在此集合上的若干关系来表示,数据结构可以分为三种:线性结构、树结构和图。
:数据元素及其关系在计算机中的存储表示称为数据的存储结构,也称为物理结构。
数据的存储结构基本形式有两种:顺序存储结构和链式存储结构。
:算法:一个算法是一个有穷规则的集合,其规则确定一个解决某一特定类型问题的操作序列。
算法规则需满足以下五个特性:输入——算法有零个或多个输入数据。
输出——算法有一个或多个输出数据,与输入数据有某种特定关系。
有穷性——算法必须在执行又穷步之后结束。
确定性——算法的每个步骤必须含义明确,无二义性。
可行性——算法的每步操作必须是基本的,它们的原则上都能够精确地进行,用笔和纸做有穷次就可以完成。
有穷性和可行性是算法最重要的两个特征。
:算法与数据结构:算法建立数据结构之上,对数据结构的操作需用算法来描述。
算法设计依赖数据的逻辑结构,算法实现依赖数据结构的存储结构。
:算法的设计应满足五个目标:正确性:算法应确切的满足应用问题的需求,这是算法设计的基本目标。
健壮性:即使输入数据不合适,算法也能做出适当的处理,不会导致不可控结高时间效率:算法的执行时间越短,时间效率越高。
果。
高空间效率:算法执行时占用的存储空间越少,空间效率越高。
可读性:算法的可读性有利于人们对算法的理解。
:度量算法的时间效率,时间复杂度,(课本39页)。
:递归定义:即用一个概念本身直接或间接地定义它自己。
2010年台湾省数据结构与算法考试技巧、答题原则
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
6、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
C.n(n—1)/2条有向边 D.n(n一1)条有向边
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
3、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
4、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
C.不必事先估计存储空间 D.所需空间与其长度成正比
5、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
27、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
28、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1) B.O(n)
C.O(1Ogzn) D.O(n2)
D.{102,60。89,93,55,24}
35、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k
36、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
A.top=top+1;V[top]=x B.V[top]=x;top=top+1
计算机等级考试中数据结构题解题技巧
计算机等级考试中数据结构题解题技巧数据结构是计算机科学中非常重要的一个概念,它涉及到如何组织和存储数据,以及在这些数据上进行各种操作的方法和技巧。
对于计算机等级考试而言,数据结构题目通常会是一种较为常见的题型。
为了帮助大家更好地应对这类题目,本文将介绍一些解题技巧和注意事项。
一、理解题目要求在解答任何题目之前,首先要充分理解题目的要求。
数据结构题目往往会给出一些具体的问题或者操作需求,而我们需要根据这些要求来选择合适的数据结构以及相应的算法。
因此,在开始解题之前,仔细阅读题目,确保对问题和操作要求有一个准确的理解。
二、选择合适的数据结构不同的数据结构适用于不同的场景和需求,因此在解题时要根据题目要求选择合适的数据结构。
常见的数据结构有数组、链表、队列、栈、树、图等,它们各自具有不同的特点和适用范围。
在选择数据结构时,需要考虑到题目的具体情况,比如是否需要频繁插入、删除、查找等操作,以及对数据的有序性要求等。
选择合适的数据结构可以使解题过程更加高效和简洁。
三、掌握基本操作对于每种数据结构,都有其对应的基本操作,比如在数组中插入元素、在链表中删除节点、在树中查找节点等。
掌握这些基本操作非常重要,它们是解决数据结构题目的基础。
在复习和练习过程中,要多加强对这些基本操作的理解和掌握,熟练运用它们可以帮助我们更好地解决各种数据结构题目。
四、熟悉常见算法和实现在解题过程中,经常需要使用一些常见的算法和实现方式,比如深度优先搜索(DFS)、广度优先搜索(BFS)、递归、迭代等。
熟悉这些算法和实现方式可以帮助我们更快地解决问题,提高解题效率。
因此,在复习过程中,要重点关注这些常见算法和实现方式,并进行充分的练习和巩固。
五、注重代码实现的细节在解题时,不仅需要考虑算法和数据结构的选择,还需要注重代码实现的细节。
比如,在使用指针或引用时,要注意指针是否为空,引用是否合法;在对链表进行操作时,需要注意头节点和尾节点的处理;对于递归算法,要注意递归条件和终止条件的设置等。
2010台湾省数据结构基础考试答题技巧
1、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))B) Tail(Head(Head(Tail(L))))C) Head(Tail(Head(Tail(L))))D)Head(Tail(Head(Tail(Tail(L)))))2、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5C)6 D)73、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;4、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定5、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定6、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈C)队列 D)树7、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)408、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表B)双链表C)带头结点的双循环链表 D)单循环链表9、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树C) 广义表 D) 图10、采用链结构存储线性表时,其地址( B )。
2010台湾省分析数据库的考试题目加强
1、我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置(下标)。
用j 记住局部平台的起始位置,用i指示扫描b数组的下标,i从0开始,依次和后续元素比较,若局部平台长度(i-j)大于l时,则修改最长平台的长度k(l=i-j)和其在b中的起始位置(k=j),直到b数组结束,l即为所求。
void Platform (int b[ ], int N)//求具有N个元素的整型数组b中最长平台的长度。
{l=1;k=0;j=0;i=0;while(i<n-1){while(i<n-1 && b[i]==b[i+1]) i++;if(i-j+1>l) {l=i-j+1;k=j;} //局部最长平台i++; j=i; } //新平台起点printf(“最长平台长度%d,在b数组中起始下标为%d”,l,k);}// Platform2、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。
现要求采用循环链表结构设计一个算法,模拟此过程。
#include<stdlib.h>typedef int datatype;typedef struct node{datatype data;struct node *next;}listnode;typedef listnode *linklist;void jose(linklist head,int s,int m){linklist k1,pre,p;int count=1;pre=NULL;k1=head; /*k1为报数的起点*/while (count!=s) /*找初始报数起点*/{pre=k1;k1=k1->next;count++;}while(k1->next!=k1) /*当循环链表中的结点个数大于1时*/{ p=k1; /*从k1开始报数*/count=1;while (count!=m) /*连续数m个结点*/{ pre=p;p=p->next;count++;}pre->next=p->next; /*输出该结点,并删除该结点*/printf("%4d",p->data);free(p);k1=pre->next; /*新的报数起点*/}printf("%4d",k1->data); /*输出最后一个结点*/free(k1);}main(){linklist head,p,r;int n,s,m,i;printf("n=");scanf("%d",&n);printf("s=");scanf("%d",&s);printf("m=",&m);scanf("%d",&m);if (n<1) printf("n<0");else{/*建表*/head=(linklist)malloc(sizeof(listnode)); /*建第一个结点*/head->data=n;r=head;for (i=n-1;i>0;i--) /*建立剩余n-1个结点*/{ p=(linklist)malloc(sizeof(listnode));p->data=i;p->next=head;head=p;}r->next=head; /*生成循环链表*/jose(head,s,m); /*调用函数*/}}3、将顶点放在两个集合V1和V2。
数据结构复习重点
《数据结构》复习重点第一章绪论要求、目标:了解数据逻辑结构的分类;掌握算法的特性及估算算法时间复杂度的方法;熟悉数据结构的基本基本概念和术语。
一、基本概念和术语1.数据结构:是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。
2.数据:是对客观事物的符号表示,即所有能输入到计算机中并被计算机程序处理的符号的总称。
3.数据项:数据的不可分割的最小单位。
4.数据元素(数据结点):数据的基本单位,在程序中作为一个整体处理,由若干数据项组成。
5.数据对象:性质相同的数据元素的集合,是数据的一个子集如:四季对象是集合:{春,夏,秋,冬}自然数对象是集合:{0,1,2,3,…}字母字符对象是集合:{‘A’,‘B’,…‘Z’}6.数据结构的分类:线性结构和非线性结构。
7.数据结构的形式化定义:数据结构是一个二元组,可定义为Data_Structure=(D,S)其中:D是数据元素的有限集合,S是D上关系的有限集合8.序偶:两个元素间的前后关系。
<a,b>a是b的前驱结点,b是a的后继结点例:四季的描述B=(D,R)D={春,夏,秋,冬}R={<春,夏>,<夏,秋>,<秋,冬>}9.物理结构(存储结构或映像):数据结构在计算机中的表示。
10.存储结构的分类:①顺序存储结构:利用元素的相对位置来表示元素间的位置关系,是一种随机存取结构,逻辑上相邻的数据物理上也紧临,静态分配空间;②链式存储结构:借助元素存储的指针来表示元素之间的关系,逻辑上相邻的数据物理上不一定紧临,动态分配空间。
11.逻辑结构和物理结构的关系:是密切相关的两个方面,任何一个算法的设计取决于逻辑结构,而算法的实现则依赖于采用的存储结构。
12.数据类型:是一个值的集合和定义在这个值集上的一组操作的总称,规定了在程序执行期间变量或表达式所有可能取值的范围,以及在这些值上允许进行的操作。
2010台湾省数据库期末考试加强
1、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p 和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。
2、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件放入背包(这时背包可放入物品的重量变为s-w[n])。
若第n件物品不能放入背包,则考虑从n-1件物品选若干件放入背包(这时背包可放入物品仍为s)。
若最终s=0,则有一解;否则,若s<0或虽然s>0但物品数n<1,则无解。
(1)s-w[n],n-1 //Knap(s-w[n],n-1)=true(2)s,n-1 // Knap←Knap(s,n-1)3、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p 和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。
4、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件放入背包(这时背包可放入物品的重量变为s-w[n])。
若第n件物品不能放入背包,则考虑从n-1件物品选若干件放入背包(这时背包可放入物品仍为s)。
若最终s=0,则有一解;否则,若s<0或虽然s>0但物品数n<1,则无解。
(1)s-w[n],n-1 //Knap(s-w[n],n-1)=true(2)s,n-1 // Knap←Knap(s,n-1)5、由二叉树的前序遍历和中序遍历序列能确定唯一的一棵二叉树,下面程序的作用是实现由已知某二叉树的前序遍历和中序遍历序列,生成一棵用二叉链表表示的二叉树并打印出后序遍历序列,请写出程序所缺的语句。
#define MAX 100typedef struct Node{char info; struct Node *llink, *rlink; }TNODE;char pred[MAX],inod[MAX];main(int argc,int **argv){ TNODE *root;if(argc<3) exit 0;strcpy(pred,argv[1]); strcpy(inod,argv[2]);root=restore(pred,inod,strlen(pred));postorder(root);}TNODE *restore(char *ppos,char *ipos,int n){ TNODE *ptr; char *rpos; int k;if(n<=0) return NULL;ptr->info=(1)_______;for((2)_______ ; rpos<ipos+n;rpos++) if(*rpos==*ppos) break;k=(3)_______;ptr->llink=restore(ppos+1, (4)_______,k );ptr->rlink=restore ((5)_______+k,rpos+1,n-1-k);return ptr;}postorder(TNODE*ptr){ if(ptr=NULL) return;postorder(ptr->llink); postorder(ptr->rlink); printf(“%c”,ptr->info); }6、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否相似,采用递归算法。
数据结构考试重点必背
数据结构考试重点必背在数据结构考试中,掌握并熟练运用一些重点概念和知识点是非常关键的。
这些重点知识点不仅能够帮助我们对数据结构的基本概念有深入的理解,还能够在解决实际的编程问题中发挥重要作用。
本文将详细介绍数据结构考试中的一些重点知识点,供大家参考。
一、线性表1. 线性表的定义和基本操作:线性表是由n个数据元素构成的有限序列,其中n为表的长度。
基本操作包括插入、删除、查找等。
2. 顺序存储结构与链式存储结构:顺序存储结构使用数组实现,查找效率高;链式存储结构使用链表实现,插入删除效率高。
3. 单链表、双链表与循环链表:单链表每个节点只有一个指针指向下一个节点,双链表每个节点有两个指针分别指向前一个和下一个节点,循环链表将尾节点的指针指向头节点。
二、栈和队列1. 栈的定义和基本操作:栈是一种特殊的线性表,只允许在一端进行插入和删除操作,称为栈顶。
基本操作包括入栈和出栈。
2. 栈的应用:括号匹配、四则运算表达式求值、迷宫求解等。
3. 队列的定义和基本操作:队列是一种特殊的线性表,采用先进先出的原则。
基本操作包括入队和出队。
4. 队列的应用:生产者消费者问题、打印任务调度等。
三、树与二叉树1. 树的定义和基本概念:树是n(n >= 0)个节点的有限集合,其中存在唯一的根节点,其余节点构成m个互不相交的子集,每个集合本身又可以看作一棵树。
2. 二叉树的基本概念:二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别为左子节点和右子节点。
3. 二叉树的遍历方式:前序遍历、中序遍历和后序遍历。
遍历过程分别为先遍历根节点、先遍历左子树再遍历右子树、先遍历右子树再遍历左子树。
四、图1. 图的定义和基本概念:图是由节点和边组成的一种数据结构,用于描述事物之间的关系。
节点表示事物,边表示事物之间的联系。
2. 图的分类:无向图、有向图、带权图等。
3. 图的遍历方式:深度优先遍历和广度优先遍历。
深度优先遍历使用栈实现,广度优先遍历使用队列实现。
数据结构必考知识点归纳
数据结构必考知识点归纳数据结构是计算机科学中的核心概念之一,它涉及到数据的组织、存储、管理和访问方式。
以下是数据结构必考知识点的归纳:1. 基本概念:- 数据结构的定义:数据结构是数据元素的集合,这些数据元素之间的关系,以及在这个集合上定义的操作。
- 数据类型:基本数据类型和抽象数据类型(ADT)。
2. 线性结构:- 数组:固定大小的元素集合,支持随机访问。
- 链表:由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。
- 单链表:每个节点指向下一个节点。
- 双链表:每个节点同时指向前一个和下一个节点。
- 循环链表:最后一个节点指向第一个节点或第一个节点指向最后一个节点。
3. 栈(Stack):- 后进先出(LIFO)的数据结构。
- 主要操作:push(入栈)、pop(出栈)、peek(查看栈顶元素)。
4. 队列(Queue):- 先进先出(FIFO)的数据结构。
- 主要操作:enqueue(入队)、dequeue(出队)、peek(查看队首元素)。
- 特殊类型:循环队列、优先队列。
5. 递归:- 递归函数:一个函数直接或间接地调用自身。
- 递归的三要素:递归终止条件、递归工作量、递归调用。
6. 树(Tree):- 树是节点的集合,其中有一个特定的节点称为根,其余节点称为子节点。
- 二叉树:每个节点最多有两个子节点的树。
- 二叉搜索树(BST):左子树的所有节点的值小于或等于节点的值,右子树的所有节点的值大于或等于节点的值。
7. 图(Graph):- 图是由顶点(节点)和边(连接顶点的线)组成的。
- 图的表示:邻接矩阵、邻接表。
- 图的遍历:深度优先搜索(DFS)、广度优先搜索(BFS)。
8. 排序算法:- 基本排序:选择排序、冒泡排序、插入排序。
- 效率较高的排序:快速排序、归并排序、堆排序。
9. 查找算法:- 线性查找:在数据结构中顺序查找。
- 二分查找:在有序数组中查找,时间复杂度为O(log n)。
2010年自学考试《数据结构》各章复习要点总结
徐州建筑职业技术学院电信息子工程学院毕业设计(论文)说明书撰写等格式规定07届电子信息工程各专业毕业班学生,现将毕业设计(论文)说明书撰写等格式规定印发给你们,请严格遵照执行,不符合要求不预参加答辩,并退回重写。
一、毕业设计说明书结构按先后顺序由中文摘要及关键词、英文摘要及关键词,目录,正文,参考文献,致谢组成。
二、对毕业设计说明书的总体要求1、毕业设计说明书封面均应采用统一提供的模板。
2、毕业设计说明书,采用中文WORD2000打印,双面装订成册。
纸,上、下边距留2.5cm,左、右边距3、毕业设计说明书页面设置:采用A4留3.0cm,装订线留O.5cm,装订线置于页面左边。
4、毕业设计说明书页眉设置:“徐州建筑职业技术学院毕业设计说明书”,5号楷体。
5、毕业设计说明书的页码:要求目录部分单独形成;正文至参考文献部分单独插入页码,插入方式,页面底端,居中。
一份完整的毕业设计(论文)应按先后顺序由封面、中文摘要及关键词、英文摘要及关键词,目录,正文,致谢,参考文献组成。
三、封面:1、按学校统一格式,填写相应内容。
(样式见附录1)2、对于“设计题目名称”的要求:设计题目名称应该用简短、明确的文字写成,通过标题把毕业设计(论文)的内容、专业特点概括出来。
题目字数要适当,一般不宜超过20个字。
如果有些细节必须放进标题,为避免冗长,可以设副标题,把细节放在副标题里。
四、摘要(中文在前,英文在后,样式见附录2)摘要应反映论文的精华,概括地阐述课题研究的基本观点、主要研究内容、研究方法、取得的成果和结论。
摘要字数要适当,中文摘要一般以300字左右为宜,英文摘要一般为300个单词左右为宜。
摘要包括:a) 论文题目(中、英文摘要都应开列);b) “摘要”字样(位置居中);c) 摘要正文;d) 关键词。
撰写“摘要”格式要求如下:1、“中文摘要”四个字,小三号宋体,居中。
2、中间空一行打摘要具体内容,段前空两字,采用四号宋体,单倍行间距。
数据结构考试重点
数据结构第一章绪论1、数据结构的定义:按照某种逻辑关系组织起来的数据集、数据与数据间的逻辑关系在计算机存储器中的存储形式以及定义在数据集上的一组操作与操作的实现这三个方面统称为数据结构。
2、数据主要分为两大类:数值型数据和非数值类型数据。
数值型数据主要包括整数、实数和复数等;非数值类型数据包括字符、字符串、文字、声音、图形、图像等。
3、数据结构的逻辑结构是指数据元素的集合以及定义在该集合上的数据元素之间的一种或多种特定关系。
4、数据结构的逻辑结构是根据解决问题的功能目标而建立的;数据结构的存储结构是根据解决问题的性能要求而建立的。
5、数据类型是一个具体相同性质的值的集合以及定义在该集合上的一组操作的总称。
数据类型定义了数据的性质、取值范围以及对数据所能进行的一组操作。
6、根据数据元素之间逻辑关系的不同特性,可将数据结构分为:集合、线性机构、树形结构和图状结构。
7、一个非空的线性结构的逻辑特点:1.只有一个数据元素没有前驱,称其为“第一个”元素;2.只有一个数据元素没有后继,称其为“最后一个”元素;3.除第一个元素外,其余数据元素有且只有一个前驱;4. 除最后一个元素外,其余数据元素有且只有一个后继。
8、算法是指为解决一个问题而采用的方法和步骤;9、算法的五个特性:1.有穷性:算法必须在有限步骤及有限时间内终止,并计算出结果;2.确定性:算法的每一个操作步骤都有确切的含义,即无二义性;3. 算法的每一个操作步骤,都是有效的、可行的;4.输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合;5.输出:一个算法必须有一个或多个输出。
算法的目的是为了求解,通过算法所求得的“解”即是算法的输出。
注意,计算机算法的输出不一定就是计算机显示或打印输出,一个算法得到的结果实际就是算法的输出。
第二章线性表10、线性表是一种最基本而且应用最广泛的数据结构,其特点是结构中的各数据元素之间存在着一对一的关系,是一种最典型的线性结构。
数据结构考试要点
数据结构考试要点一、概述数据结构是计算机科学的重要基础学科,研究的是数据元素和数据元素之间的关系,以及数据在计算机内存中的存储和组织方式。
数据结构的掌握对于计算机专业的学生来说至关重要。
下面将介绍数据结构考试的要点,帮助大家更好地备考。
二、线性表线性表是数据结构中最基本的概念之一,它是一种有序的数据元素集合。
线性表的常见类型包括顺序表和链表。
考试中常涉及到线性表的建立、插入、删除、查找和遍历等操作,掌握这些基本操作是非常重要的。
三、栈和队列栈和队列是线性表的特殊形式,它们分别具有后进先出和先进先出的特性。
栈的基本操作包括入栈和出栈,而队列的基本操作包括入队和出队。
在考试中,需要了解它们的实现方式,以及如何利用栈和队列解决实际问题。
四、树结构树是一种非线性结构,它由若干个节点组成,每个节点可以有若干个子节点。
树的常见类型有二叉树、二叉搜索树和平衡二叉树等。
在数据结构考试中,需要了解这些树的基本概念、特性以及它们的遍历方式。
五、图结构图是一种非线性结构,它由若干个节点和边组成,节点表示实体,边表示节点之间的关系。
图可以分为有向图和无向图。
在考试中,常常涉及到图的遍历、最短路径算法和最小生成树算法等内容。
六、排序算法排序算法是数据结构中非常重要的内容,常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序和归并排序等。
在考试中,需要了解这些排序算法的原理、实现和时间复杂度等。
七、查找算法查找算法是在数据集合中寻找特定元素的算法,常见的查找算法包括顺序查找和二分查找。
在数据结构考试中,需要熟悉这些查找算法的过程、复杂度以及它们的应用场景。
八、图算法图算法是对图进行各种操作和分析的算法,常见的图算法包括深度优先搜索和广度优先搜索等。
在考试中,需要了解这些图算法的原理、实现和应用。
九、高级数据结构除了基本数据结构外,考试中还可能涉及到高级数据结构的内容,比如哈希表、堆、红黑树等。
了解这些高级数据结构的特点和使用场景对于备考非常重要。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
4、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
34、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
C)p=p->nexe->next D)p->next=p
28、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
29、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
C)一个最大值 D)一个均方值
20、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
C)p=p->nexe->next D)p->next=p
37、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
31、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
15、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
21、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
22、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
23、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
30、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
11、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
24、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
C)顺序队列 D)链队列
12、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
13、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
40、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
41、串的逻辑结构与( D )的逻辑结构不相同。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
27、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
16、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
17、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
5、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
25、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
26、数据结构中,在逻辑上可以把数据结构分成( B )。
32、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
33、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
18、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
C) O(m*n) D)O(1)
38、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) (G) B) (D) C) C D) D
39、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)n B)2e C)e D) n+e
8、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( பைடு நூலகம் )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
35、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
36、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
19、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
1、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
2、与无向图相关的术语有( C )。
A)强连通图 B)入度
A)线性表 B)栈
C)队列 D)集合
42、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
43、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
C)不含回路 D)有n条边
14、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
6、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一