版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 算法与数据结构公共基础第一部分 算法与数据结构公共基础第一部分本章考核内容约占13%,主要包括一下几个方面:算法复杂度栈、队列、线性链表的基本概念树的结点计算和遍历排序的最坏次数计算本章考核内容约占13%,主要包括一下几个方面:考点1 算法的基本概念1.算法是指解题方案的准确而完整的描述。 对于一个问题,如果可以通过一个计算机程序,在有限的存储空间内运行有限的时间而得到正确的结果,则称这个问题是可解的。 2.算法特征: 1)可行性 2)确定性 3)有穷性:即算法必须能在执行有限个步骤之后终止 4)拥有足够的情报考点1 算法的基本概念考点1 算法的基本概念【2008年4月】:算法的有穷性是指(
2、 ) A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用答案A考点1 算法的基本概念答案A考点1 算法的基本概念3.算法的基本元素 一个算法通常由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。 一般的计算机系统中,基本运算和操作包括以下4类: 算术运算:加、减、乘、除等运算; 逻辑运算:与、或、非等运算; 关系运算:等于、不等于、大于、小于等运算; 数据传输:赋值、输入、输出等操作。考点1 算法的基本概念考点1 算法的基本概念3.算法的基本元素 算法的控制结构 算法各操作之间的执行顺序称为算法的控制结
3、构。 算法的控制结构包括:顺序、选择(分支)和循环。考点1 算法的基本概念考点1 算法的基本概念4.算法设计的基本方法 计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。 列举法; 归纳法; 递推; 递归; 减半递推技术; 回溯法。考点1 算法的基本概念考点2 算法的复杂度 算法的复杂度包括算法时间复杂度和算法空间复杂度。1.算法时间复杂度 算法时间复杂度是指执行算法所需要的计算工作量。 在度量一个算法的工作量时,用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。 分析算法工作量的方法:平均性态和最坏情况复杂性。考点2 算法的复杂度考点2 算法的复杂度2.算法空间复杂度
4、 一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间大小。 一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的空间以及算法执行过程中所需要的额外空间。考点2 算法的复杂度考点2 算法的复杂度【2005年9月】:算法复杂度主要包括时间复杂度和_复杂度。 【2006年9月】:下列叙述中正确的是( ) A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对答案D空间考点2 算法的复杂度答案D空间考点2 算法的复杂度【2007年4月】:下列叙述中正确的是( ) A
5、)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关答案B考点2 算法的复杂度答案B考点3 数据结构1.基本概念 1)数据:描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合。 2)数据元素:数据的基本单位,即数据集合中的个体。有时一个数据元素由若干个数据项组成,在这种情况下,将数据元素称为记录,由记录所组成的线性表为文件。 3)数据项:具有独立意义的最小数据单位。 4)数据对象:具有相同特性的数据元素的集合,是数据的子集。 5)结构
6、:指数据元素之间的前后件关系。考点3 数据结构考点3 数据结构1.基本概念6)数据结构:指相互关联的数据元素的集合。 数据结构包含两方面信息:一是表示数据元素的信息;二是表示各数据元素之间的前后件关系。 例如,描述一年四季的季节名春、夏、秋、冬,可以作为季节的数据元素;在考虑一年4个季节的顺序关系时,则“春”是“夏”的前件,而“夏”是“春” 的后件等。 考点3 数据结构考点3 数据结构2.数据的逻辑结构 在以上所述的数据结构中,数据元素之间的前后件关系是指它们的逻辑关系,而与它们在计算机中的存储位置无关。因此,上面所述的数据结构实际上是数据的逻辑结构。1)概念: 所谓数据的逻辑结构,是指反映数
7、据元素之间逻辑关系的数据结构。考点3 数据结构考点3 数据结构2.数据的逻辑结构2)表示:图形表示:集合、线性、树、图集合 线性 树 图考点3 数据结构集合 考点3 数据结构2.数据的逻辑结构2)表示:二元关系表示 数据的逻辑结构有两个要素:一是数据元素的集合,通常记为 D; 二是D上的关系,它反映了D中各数据元素之间的前后件关系,通常记为 R,即一个数据结构可以表示成:B = (D,R)其中B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。 考点3 数据结构考点3 数据结构2.数据的逻辑结构2)表示:二元关系表示例如,一年四季的数据结构可以表示成: B=(D,R)
8、D=春,夏,秋,冬 R=(春,夏),(夏,秋)(秋,冬)考点3 数据结构考点4 数据的存储结构1.概念: 数据的逻辑结构在计算机存储空间的存放形式称为数据的存储结构。考点4 数据的存储结构考点4 数据的存储结构2.存储形式: 数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。 顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;非顺序映像的特点是借助指示元素存储地址的指针(Pointer)表示数据元素之间的逻辑关系。考点4 数据的存储结构考点4 数据的存储结构注意: 数据元素在计算机存储空间中
9、的位置关系可能与逻辑关系不同,数据的逻辑结构可以表示成多种存储结构。采用不同的存储结构,其数据处理的效率是不同的。考点4 数据的存储结构考点4 数据的存储结构【2005年4月】:数据的存储结构是指( ) A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示答案D考点4 数据的存储结构答案D考点4 数据的存储结构【2005年9月】下列叙述中正确的是( ) A)一个逻辑数据结构只能有一种存储结构 B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D)一
10、个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率答案D考点4 数据的存储结构答案D考点4 数据的存储结构【2007年9月】下列叙述中正确的是( ) A)数据的逻辑结构与存储结构必定是一一对应的 B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D)以上三种说法都不对答案D考点4 数据的存储结构答案D考点4 数据的存储结构【2008年9月】下列叙述中正确的是( ) A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存
11、储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间答案A考点4 数据的存储结构答案A考点5 线性结构与非线性结构 根据数据结构中各数据元素之间前后件关系的复杂程度,将数据结构分为两大类型:线性结构与非线性结构。 如果一个非空的数据结构满足两个条件: 一是有且只有一个根结点; 二是每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构。线性结构又称线性表。 注意:在一个线性结构中插入或删除任何一个结点后还应是线性结构。 如果一个数据结构不是线性结构,则称为非线性结构。考点5 线性结构与非线性结构考点6 线性表
12、的基本概念 线性表是最简单,最常用的一种数据结构。线性表由一组数据元素构成的有限序列,如一年的四个季节。 线性表中结点的个数n称为线性表的长度。n=0时,称为空表。 非空线性表有如下一些结构特征:有且只有一个根结点,它无前件;有且只有一个终端结点,它无后件;除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。考点6 线性表的基本概念考点7 线性表的顺序存储 在计算机中存放线性表的一种最简单的方法是顺序存储,也称为顺序分配。用顺序存储结构存储的线性表称作顺序表。 线性表的顺序存储结构具有以下两个基本特点: 1)线性表中所有元素所占的存储空间是连续的; 2)线性表中各数据元素在
13、存储空间中是按逻辑顺序依次存放的。 注意:在线性表的顺序存储结构中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面。 考点7 线性表的顺序存储考点8 顺序表的操作1.插入 向顺序表中插入一个新结点时,由于需要保持运算的结果仍然是顺序存储,所以可能要移动一系列结点。若顺序表中结点个数为n,在向每个位置插入的概率相等的情况下,插入一个结点平均需要移动之结点个数为n/2,算法的时间复杂度是O(n)。2.删除 从顺序表中删除一个结点可能需要移动一系列结点。在等概率的情况下,删除一个结点平均需移动结点个数为(n-1)/2,算法的时间复杂度也是O(n)。考点8 顺序表的操作考点9
14、 线性表的链式存储 为了适应线性表的链式存储结构,计算机的内存空间被划分为多个小块,每个小块占若干个字节,通常称这些小块为存储结点。每个存储结点分为两部分:一部分用于存储数据元素的值,称为数据域;一部分用于存储下一个数据元素的存储序号(即存储结点的地址),称为指针域。考点9 线性表的链式存储考点9 线性表的链式存储1.线性链表(单链表) 所谓线性链表就是链式存储的线性表,其结点中只含有一个指针域,用来指出其后继结点的存储位置。线性链表的最后一个结点无后继结点,它的指针域为空(记为NULL或)。另外还要设置表头指针head,指向线性链表的第一个结点。 Head指针data1 Data2 Data
15、n图1.3 链式存储结构考点9 线性表的链式存储Head指针data1 考点9 线性表的链式存储1.线性链表(单链表) 对线性链表可以进行插入、删除等运算。 注意:做删除运算时改变的是被删结点的前一个结点中指针域的值。因此,若要查找且删除某一结点,则应在查找被删结点的同时记下它前一个结点的位置。 考点9 线性表的链式存储考点9 线性表的链式存储2.双向链表 线性单链表中,每个结点只有一个指针域,由此指针只能找到后件节点。 为了弥补线性单链表的这个缺点,在某些应用中,对线性单链表的每个结点设置两个指针,一个称为左指针(Llink)用以指向其前件结点;另一个称为右指针(Rlink)用以指向其后件结
16、点,这样的线性链表称为双向链表。Head指针data1 data2 datan图1.7 双向链表 考点9 线性表的链式存储Head指针data1 考点9 线性表的链式存储3.循环链表 所谓循环链表是指链表的最后一个结点的指针值指向第一个结点,整个链表形成一个环。data1 Data2 Datan图1.8 循环链表考点9 线性表的链式存储data1 Data2 考点9 线性表的链式存储 注意:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结构的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 考点9 线性表的链式存储考点9 线性表的链式存储【2
17、005年4月】:对于线性链表的描述中正确的是() A)存储空间不一定是连续,且各元素的存储顺序是任意的 B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C)存储空间必须连续,且前件元素一定存储在后件元素的前面 D)存储空间必须连续,且各元素的存储顺序是任意的答案A考点9 线性表的链式存储答案A考点10 栈及其基本运算1.栈的定义 栈是一种特殊的线性表。 栈是限定仅在表尾(表的一端)进行插入和删除运算的线性表,表尾称为栈顶(top),表头叫做栈底(bottom)。栈中无元素时称为空栈。 栈遵守“后进先出”(LIFO)的操作原则,具有记忆功能。a1a2an栈顶栈底进栈出栈图1.9 栈
18、结构考点10 栈及其基本运算a1a2an栈顶栈底进栈出栈图1考点10 栈及其基本运算2.栈的存储 栈的既可以用顺序存储结构,也可用链式存储结构。 在程序设计语言中,用一维数组S(1:m)作为栈的顺序存储空间,其中m为栈的最大容量。通常,栈底指针指向栈空间的低地址一端(即数组的起始地址这一端)。 栈用链式存储结构:带链的栈称为可利用栈。考点10 栈及其基本运算考点10 栈及其基本运算3.栈的运算 1)入栈运算:指在栈顶位置插入一个新元素,其方法是先将栈顶指针top进一(即top加1),然后将新元素插入到栈顶指针指向的位置。 注意:栈“上溢”错误。(栈顶指针为m) 2)退栈运算:指取出栈顶元素并赋
19、给一个指定的变量。其方法是先将栈顶元素赋给一个指定的变量,然后将栈顶指针top退一(即top减1)。注意:栈“下溢”错误。 (栈顶指针为0) 3)读栈顶元素:指将栈顶元素赋给一个指定的变量。 注意,此元素不删除栈顶元素,只是将其赋给一个变量,因此在这个运算中,栈顶指针不会改变。考点10 栈及其基本运算考点10 栈及其基本运算【2005年4月】:下列关于栈的描述中错误的是( ) A)栈是先进后出的线性表 B)栈只能顺序存储 C)栈具有记忆作用 D)对栈的插入与删除操作中,不需要改变栈底指针 答案B考点10 栈及其基本运算答案B考点10 栈及其基本运算【2005年9月】下列关于栈的描述正确的是(
20、) A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元素 C)栈是特殊的线性表,只能在一端插入或删除元素 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 答案C考点10 栈及其基本运算答案C考点10 栈及其基本运算【2006年4月】:按照“后进先出”原则组织数据的数据结构是( ) A)队列 B)栈 C)双向链表 D)二叉树【2006年9月】:按“先进后出”原则组织数据的数据结构是_。 答案栈B考点10 栈及其基本运算答案栈B考点10 栈及其基本运算【2008年4月】:下列关于栈的叙述正确的是( ) A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据
21、C)只能在栈底插入数据 D)不能删除数据 答案B考点10 栈及其基本运算答案B考点10 栈及其基本运算【2008年9月】:一个栈的初始状态为空,现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( ) A)12345ABCDE B)EDCBA54321 C)ABCDE12345D)54321EDCBA答案B考点10 栈及其基本运算答案B考点11 队列及其基本运算1.队列的定义 队列是一种特殊的线性表。队列是限定所有的插入都在表的一端进行,所有的删除都在表的另一端进行的线性表。 允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素;
22、允许删除的一端称为队头,通常用一个称为头指针(front)的指针指向排头元素的前一个位置。 考点11 队列及其基本运算考点11 队列及其基本运算1.队列的定义 队列遵守“先进先出”(FIFO)的操作原则,队尾指针和队头指针共同反映了队列中元素的动态变化情况。2.队列的存储 队列的既可以用顺序存储结构(一般采用循环队列),也可用链式存储结构。3.队列的运算 入队运算、退队运算、取队头元素、检查队列是否为空、清除等。考点11 队列及其基本运算考点11 队列及其基本运算4.循环队列(顺序存储结构) 循环队列就是将队列存储空间的最后一个位置绕到第1个位置,形成逻辑上的环状空间,供队列循环使用。 考点1
23、1 队列及其基本运算考点11 队列及其基本运算4.循环队列 入队运算:入队运算是指在循环队列的队尾加入一个新元素,rear加1。当rear=m+1时,则置rear=1。 退队运算:退队运算是指在循环队列的排头位置退出一个元素,front加1。当front=m+1时,则置front=1。 当循环队列满时有front=rear,而当循环队列为空时也有front=rear。为了那个区分队列是满还是队列空,通常需要增加一个标示s,s=0表示队列空;s=1表示队列非空。 由此可得队列满与空的条件: 队列空的条件为s=0; 队列满的条件为s=1且front=rear。 考点11 队列及其基本运算考点11
24、队列及其基本运算【2008年4月】:设某循环队列的容量为50,头指针Front=5 (指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有 个元素。 答案24考点11 队列及其基本运算答案24考点11 队列及其基本运算【2008年9月】:下列叙述中正确的是( ) A)循环队列中有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定答案D考点11 队列及其基本运算答案D考点11 队列及其
25、基本运算【2005年9月】:数据结构分为逻辑结构和存储结构,循环队列属于 结构。【2006年9月】:数据结构分为线性结构和非线性结构,带链的队列属于_。答案存储线性考点11 队列及其基本运算答案存储线性考点11 队列及其基本运算【2007年4月】:下列对队列的叙述正确的是( ) A)队列属于非线性表 B)队列按“先进后出”原则组织数据 C)队列在队尾删除数据 D)队列按“先进先出”原则组织数据【2007年9月】:线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的 存储结构。 答案D顺序考点11 队列及其基本运算答案D顺序考点12 树的基本概念1.树 树
26、是一种简单的非线性结构。在树这种结构中,所有数据元素之间的关系具有明显的层次特性。一般认为,直线连接起来的两端结点中,上端结点是前件,下端结点是后件。(具有层次关系的数据都可以用树来表示)RPEBDHKTONYXQCWZSA考点12 树的基本概念RPEBDHKTONYXQCWZSA考点12 树的基本概念2.常用术语 根结点:没有前件的结点(只有一个)。 叶子结点:没有后件的结点。 父结点:每一个结点只有一个前件,该前件结点称为父结点。 子结点:每一个结点可以有多个后件,它们都称为该结点的子结点。 兄弟(Sibling):具有相同亲结点的结点互为兄弟。 结点的度(Degree):一个结点所拥有的
27、后件的个数。 树的度:树中各结点的度的最大值。考点12 树的基本概念考点12 树的基本概念2.常用术语 结点的层数:根结点的层数为1,同一层上所有结点的所有子结点都在下一层。 树的深度:树的最大层次。 子树:以某结点的一个子结点为根构成的树称为该结点的一棵子树(叶子结点没有子树)。考点12 树的基本概念考点13 二叉树及其基本性质1.二叉树定义 二叉树是一种很有用的非线性结构。 二叉树具有以下两个特点: 1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 二叉树的5种基本形态。考点13 二叉树及其基本性质考点13 二叉树及其基本性质2.二叉树的性质
28、在二叉树的i层上,最多有2i-1个结点(i1)。 深度为k的二叉树最多有2k-1个结点(k1)。 对任何一棵二叉树T,如果叶子结点的数为n0,度为2的结点数为n2,则n0=n2+1。 具有n个结点的二叉树的深度至少为 。考点13 二叉树及其基本性质考点13 二叉树及其基本性质2.二叉树的性质【2005年4月】:某二叉树中度为2的结点有18个,则该二叉树中有 _个叶子结点。【2005年9月】:一棵二叉树第六层(根结点为第一层)的结点数最多为 结构。【2007年4月】:某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为( )。 A)n+1 B)n-1 C)2nD)n/2答案19A32考点13
29、 二叉树及其基本性质答案19A32考点13 二叉树及其基本性质2.二叉树的性质【2007年9月】:一棵二叉树共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为( )。 A)219 B)221 C)229 D)231 答案A考点13 二叉树及其基本性质答案A考点13 二叉树及其基本性质3.满二叉树 满二叉树与完全二叉树是两种特殊形态的二叉树。 所谓满二叉树是指除最后一层外,每一层上的所有结点都有两个子结点。 在满二叉树中,每一层上的结点数都达到最大值。考点13 二叉树及其基本性质考点13 二叉树及其基本性质3.满二叉树【2006年4月】:在深度为7的满二叉树中,叶子结点的个数为(
30、)。 A)32B)31C)64D)63【2007年4月】:在深度为7的满二叉树中,度为2的结点个数为 。 【2008年4月】:深度为5的满二叉树有 个叶子结点。答案16C63考点13 二叉树及其基本性质答案16C63考点13 二叉树及其基本性质4.完全二叉树1)定义:所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。 考点13 二叉树及其基本性质考点13 二叉树及其基本性质4.完全二叉树2)性质: 具有n个结点的完全二叉树的深度为 。 设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然1,2, ,n 给结点进行编号,则对于编
31、号为 k(k=1,2,n)的结点有以下结论:若是k = 1,则该结点为根结点,它没有父结点;若k1,则该结点的父结点编号为INT(k/2);若2k = n,则编号为k的结点的左子结点编号为2k,否则该结点无左子结点;若2k+1 = n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点考点13 二叉树及其基本性质考点14 二叉树的存储结构 二叉树的存储通常采用链接方式。每个结点除存储结点自身的信息外再设置两个指针域llink和rlink,分别指向结点的左子女和右子女,当结点的某个指针为空时,则相应的指针值为空(NULL)。 考点14 二叉树的存储结构考点15 二叉树的遍历 遍历(或
32、称周游)是树形结构的一种重要运算。不重复访问二叉树中的所有结点。可以按多种不同的次序遍历树形结构。 二叉树的基本组成部分是:根(N)、左子树(L)、右子树(R),因此可有NLR,LNR,LRN,NRL,RNL,RLN六种遍历次序。以下着重介绍前序遍历、中序遍历、后序遍历。考点15 二叉树的遍历考点15 二叉树的遍历 遍历规则: 前序遍历:先访问根结点,然后遍历左子树,最后遍历右子树。 中序遍历:先访问左子树,然后遍历根结点,最后遍历右子树。 后序遍历:先访问左子树,然后遍右子树,最后遍历根结点。考点15 二叉树的遍历考点15 二叉树的遍历【2007年4月】:对下列二叉树进行前序遍历的结果为(
33、) A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ答案C考点15 二叉树的遍历答案C考点15 二叉树的遍历【2006年9月】:对下列二叉树进行中序遍历的结果是( ) A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG答案A考点15 二叉树的遍历答案A考点15 二叉树的遍历【2008年9月】:对下列二叉树进行中序遍历的结果是: 。答案DBXEAYFZC考点15 二叉树的遍历答案DBXEAYFZC考点15 二叉树的遍历【2006年4月】:对如下二叉树进行后序遍历的结果为( ) A)ABCDEF B)DBEAFC C)ABD
34、ECF D)DEBFCA答案D考点15 二叉树的遍历答案D考点16 顺序查找 顺序查找(顺序搜索)是指在线性表中查找指定的元素。 查找方法:从第一个元素开始,逐个比较,若相等则查找成功,若找遍所有结点都不相等,则查找失败。 优点:对线性表的结点逻辑次序没有要求(不必排序),对线性表的存储结构也没有要求(顺序存储、链式存储皆可)。 缺点:平均检索长度大。 对于长度为n的有序线性表,在最坏的情况下,顺序查找需要比较n次;平均查找次数为n/2。 考点16 顺序查找考点16 顺序查找【2005年4月】:对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。 A)log2n B)n/2 C)nD)n+1【2006年9月】:在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。 A)63 B)64 C)6 D)7答案CB考点16 顺序查找答案CB考点17 二分法查找 二分法查找是一种效率较高的查找方法。二分法查找只适用于顺序存储的有序表。 查找方法:首先用要查找的元素与线性表中间项比较,这个中间项把线性表分成了两个子表,比较相等则查找完成,不等则根据比较结果确定下一步的查找应在哪一个子表中进行,如此进行下去,直到找到满足条件的结点,或确定表中没有这样的结点为止。 对于长度为n的有序线性表,在最坏的情况下,二分查找需要比较次 。考点17
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年企业职工出差合同样本及报销规定3篇
- 2024年度债权转让担保合同担保协议书范本3篇
- 2024年摊铺机设备租赁及道路施工后期维护合同3篇
- 2024年新能源汽车专用停车场租赁合作协议6篇
- 2024年度郑州二手房交易居住权转让合同范本3篇
- 2024学生研学旅行项目资助及资金管理协议3篇
- 2024年创新租赁模式中介担保合同模板深度解读3篇
- 投毒事件应急预案
- 网络购物安全培训
- 建筑木板租赁合同范例
- 安全教育年度计划养老院
- 机电一体化技术《智能煤矿采掘设备操作与检修》课程标准
- (正式版)YST 1691-2024 铝用预焙阳极行业绿色工厂评价要求
- 社会实践-形考任务三-国开(CQ)-参考资料
- 山东省烟台市2023-2024学年高二上学期期末考试数学试卷(含答案)
- MOOC 大学计算机-西安交通大学 中国大学慕课答案
- 内镜室院感知识培训
- 吃动平衡知识讲座
- 大屏实施方案
- 湖北省部分学校2023-2024学年高一上学期期末考试数学试题(解析版)
- 工程建设监理公司薪酬管理制度
评论
0/150
提交评论