全国计算机等级考试二级公共基础知识总结.docx

上传人:b****8 文档编号:29488669 上传时间:2023-07-23 格式:DOCX 页数:30 大小:39.16KB
下载 相关 举报
全国计算机等级考试二级公共基础知识总结.docx_第1页
第1页 / 共30页
全国计算机等级考试二级公共基础知识总结.docx_第2页
第2页 / 共30页
全国计算机等级考试二级公共基础知识总结.docx_第3页
第3页 / 共30页
全国计算机等级考试二级公共基础知识总结.docx_第4页
第4页 / 共30页
全国计算机等级考试二级公共基础知识总结.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级公共基础知识总结.docx

《全国计算机等级考试二级公共基础知识总结.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级公共基础知识总结.docx(30页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级公共基础知识总结.docx

全国计算机等级考试二级公共基础知识总结

全国计算机等级考试二级公共基础知识总结

第一章数据结构与算法

1.1算法

1.算法的基本特征:

可行性;确定性,有穷性;拥有足够的情报。

2.确定性:

算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;

3.算法基本设计方法:

列举法、归纳法、递推、递归、减斗递推技术、回溯法。

4.归纳法:

通过观察一些简单而特殊的情况,最后总结出一般性的结论的算法的设计方法。

5.算法时间复杂度是指执行算法所需要的计算工作量。

可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。

6.算法时间复杂度取决于问题的规模和待处理的数据的初态。

7.如果算法P调用另一个算法Q,而算法Q又调用算法P,则称为间接递归调用

8.工程上常用的分治法是减半递推技术

9.算法空间复杂度是指执行这个算法所需要的内存空间。

10.如果查找的x一定在数组中,此时q=1,则A(n)=(n+1)/2。

也就是说,在这种情况下,用顺序搜索法在长度为n的一维数组中查找值为x的元素,在平均的情况下需要检查数组中一半的元素。

如果已知需要查找的x有一半机会在数组中,此时q=1/2。

则A(n)=[(n+1)/4]+n/2=3n/4。

x不在数组中时,A(n)=n。

.

11.下面程序段的时间复杂度是

for(inti=0;i

for(intj=1;j<=m;j++)

A[i][j]=0;

语句的频度指的是该语句重复执行的次数,一个算法中所有语句的频度之和构成了该算法的运行时间。

本例中语句:

A[i][j]=0;的频度是n*m,所以该程序段的时间复杂度是:

O(m*n).

12.算法的基本要素:

一是对数据对象的运算和操作;二是算法的控制结构。

13.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程较慢。

14.算法复杂度:

算法时间复杂度和算法空间复杂度。

1.2数据结构的基本基本概念

1.数据结构研究的三个方面:

数据的逻辑结构;数据的存储结构(物理结构);数据运算。

2.逻辑结构是数据元素间关系的描述,与所用的计算机无关

3.数据的逻辑关系是指数据元素的关联。

4.数据的不可分割的基本单位是数据项。

5.数据结构是指相互有关联的数据元素的集合。

6.一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、7。

索引等存储结构。

而采用不同的存储结构,其数据处理的效率是不同的。

8.数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,与所使用的计算机密切相关

9.根据数据结构中各数据元素之间前后件关系的复杂度,一般将数据结构分为两大类型:

线性结构与非线性结构。

10.在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点或结点

11.插入和删除是对数据结构的两种基本运算。

除此之外,对数据结构的运算还有查找、分类、合并、分解、复制和修改等。

12.在数据结构中,用一组地址连续的存储单元依次存储数据元素的方式是线性结构。

13.一个数据结构除了用二元关系表示外,还可以直观地用图形表示

1.3线性表及其顺序存储结构

1.数据元素的位置只取决于自己的序号,

2.线性表是由n个数据元素组成的一个有限序列。

删除一个元素,平均移动的元素的个数为(n-1+n-2+......+0)/n=(n-1)/2;插入一个元素,平均移动元素个数为(n+n-1+n-2+......+1)/n=(n+1)/2,所以总体移动元素个数为n/2。

3.线性表是一种线性结构,数据元素之间的相对位置是线性的。

4.线性表可以是空表。

5.非空线性表的结构特征:

(1)且只有一个根结点a1,它无前件;

(2)有且只有一个终端结点an,它无后件;

(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。

结点个数n称为线性表的长度,当n=0时,称为空表。

6.线性表的顺序存储结构具有以下两个基本特点:

(1)线性表中所有元素的所占的存储空间是连续的;

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

7.ai的存储地址为:

ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。

例:

一个矢量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是108

数据元素的存储位置均取决于第一个数据元素的存储位置,即:

ADR(ai)=ADR(a1)+(i-1)k

第5个元素的地址:

ADR(a5)=100+(5-1)X2=108

8.在线性表的顺序存储结构下,可以对线性表进行各种处理。

主要的运算有:

线性表的插入、线性表的删除、线性表的查找、线性表的排序、线性表的分解、线性表的合并、线性表的复制、线性表的逆转等

9.线性表的顺序存储结构对于小线性表或者其中元素不常变动的线性表来说是合适的,因为顺序存储的结构比较简单。

10.采用顺序存储的线性表,顺序存储结构必须占用一片连续的存储单元,当对其进行插入和删除操作时需要移动大量的元素,优点是存储密度大,由于数组的存储方式是采用顺序存储的,即占用连续的存储空间,所以可以用数组的下标直接存取。

11.查找第i-1个结点和第i个结点,在顺序表中查找的时间复杂度为O

(1)速度最快。

由于链表结构在空间存储上的不连续性,在查找某个结点时,需要从当前结点开始向前或者向后逐个比较查找,浪费时间,查找结果的时间复杂度均为O(n),

12.链接存储不是占用一片连续的存储空间,所以便于进行插入和删除操作。

13.线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针指向一个与本结点有逻辑关系的结点,此类存储方式属于顺序存储。

1.4栈和队列

1.栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

2.栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。

用top表示栈顶位置,用bottom表示栈底。

3.当一个栈ST(最多元素为MaxSize)时,ST->top=-1是判断顺序栈为空的条件。

ST->top=MaxSize-1是判断顺序栈为满的条件。

4.栈的基本运算:

(1)插入元素称为入栈运算;

(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。

栈的基本运算有:

入栈,出栈(删除栈顶元素),初始化、置空、判断栈是否为空或满、提取栈顶元素等,对栈的操作都是在栈顶进行的。

5.通常元素出栈的顺序是先取出栈顶元素再移动栈顶指针,使之指向新的栈顶元素。

6.从一个循环队列中删除一个元素,通常是先取出元素再移动栈顶指针

7.队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。

Rear指针指向队尾,front指针指向队头。

8.在一个容量为25的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有3个元素

9.队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。

10.队列运算包括

(1)入队运算:

从队尾插入一个元素;

(2)退队运算:

从队头删除一个元素。

循环队列:

s=0表示队列空,s=1且front=rear表示队列满

11.当循环队列为空(S=0)时,不能进行退队运算,这种情况称为下溢

12.栈的基本操作。

一个栈的入栈序列是1,2,3,...,n,其输出序列为P1,P2,P3,。

,Pn,若P1=n,则Pi为n-i+1

当p1=n,即n是最先出栈的,根据栈的运算原理,n必定是最后入栈的,那么输入顺序必定是1,2,3,...,n,则出栈的序列是n,n-1,n-2,...,1

13.设初始输入序列为1,2,3,4,5,利用一个栈产生输出序列,下列B序列是不可能通过栈产生的

由于栈的压入和退出只能在栈顶进行,所以要使出栈的第一个数是序列的最后一个数5,只能先把序列所有元素都压入栈,但这时出栈序列只能是(A5,4,3,2,1),所以(B5,3,4,1,2)选项的出栈序列是错误的,应选(B)。

当初始序列压入一个时,就退出一个元素,这样就得到(A)选项的出栈序列1,2,3,4,5;先压入1,2,3,4四个元素,再退出所有元素,最后压入5,并退栈这时得到(C)选项的出栈序列4,3,2,1,5;压入1,2后对后面的元素3,4,5分别压入一个退出一个,这时便得到(D)选项的出栈序列3,4,5,2,1。

1.5线性链表

1.数据结构分为逻辑结构与存储结构,线性链表属于存储结构。

2.数据结构中的每一个结点对应于一个存储单元,这种存储单元(一个一个小块)称为存储结点,简称结点。

3.结点由两部分组成:

(1)用于存储数据元素值,称为数据域;

(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。

4.在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

因此,链式存储结构是散列存储

5.带头结点的双向循环链表L为空的条件是:

只有该头结点,即L->next==L或者L->prior==L

6.对于链式队列结构,插入元素是在队尾进行的,只需修改队尾指针,不需修改队头指针。

向链式队列中插入一个结点就是在单链表表尾插入一个结点,同时新插入的结点成为表尾结点。

例:

在一个链式队列中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算是r->next=s;r=s;

7.向链式栈中插入一个结点,就是在单链表的表头插入一个结点,同时将新结点的位置赋予栈顶指针。

例:

向一个栈顶指针为HS的链式栈中插入一个s所指的结点时,则执行s->next=HS;HS=s;

8.线性链表的基本操作:

插入、删除、查找、排序。

9.双向链表每个结点有两个指针域,这两个指针分别指向它的前驱结点和后继结点。

10.单链表中,每个结点都含有一个指针域,这个指针指向它的下一个结点。

因此访问单链表中的结点时,必须沿着它的指针逐个进行。

11.由于双向链表比单链表结构复杂,所以在插入和删除元素时,要修改更多的指针域,相对比较复杂,单向链表和双向链表在空间存储上的不连续性决定了两者都不可以随机访问,在双向链表中由于每个结点包括两个指针域,其中一个指向该结点的前驱结点,另一个指向该结点的后继结点,因此它既可以直接访问前驱结点,又可以直接访问后继结点,而单链表每个结点只有一个指针域,指向它的后继结点,所以它只能直接访问它的下一个结点,而无法直接访问它的前一个结点。

所以双向链表顺序访问相邻结点更加灵活。

12.链表的特点:

顺序表可以随机访问任意一个结点,而链表必须从第一个数据结点出发,逐一查找每个结点。

链表结构是一些逻辑上相邻,而空间上并不一定相邻的数据元素的集合,相邻的结点之间通过指针相互联系,在插入和删除元素时,只需修改结点指针即可,不需要移动数据元素。

当存储空间不足时,可以动态为其分配内存空间,所以不必事先估计存储空间的大小。

所需空间与其长度成正比。

13.用带头结点的链表表示线性表时,空表和非空表的插入、删除是相同的。

当往空链表插入元素时,只要把待插入元素的指针域指向头结点的指针域,把头结点的指针域指向新增元素即可,当往非空链表插入元素时只要找到插入的位置,执行同样的操作即可完成插入。

当链表只有一个元素时,删除操作只要修改指针指向下一个元素的指针所指的元素即可,跟一般的链表删除操作是一样的。

带头结点的链表并不能加快对链表的遍历,带头结点的链表反而要增加一个用于存储头结点的空间,并不能节省存储空间,用带头结点的链表跟存取元素的速度无关。

14.忽略了最后结点或头结点的指针,在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。

1.6树与二叉树

1.树是一种简单的非线性结构,所有元素之间具有明显的层次特性。

栈和队列都是线性结构。

在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。

每一个结点可以有多个后件,称为该结点的子结点。

没有后件的结点称为叶子结点。

在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。

树的最大层次称为树的深度。

二叉树的特点:

(1)非空二叉树只有一个根结点;

(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。

2.树的结点不能为空,结点最少的树为只有一个结点的树;二叉树的结点数可以为0,结点最少的二叉树为空的二叉树。

3.设树T的度为4,其中度为1,2,3和4的结点的个数分别为4、2、1、1,则T中叶子结点的个数为8(根据树的性质:

树的结点数等于所有结点的度与对应的结点个数乘积之和为1。

因此树的结点数为1*4+2*2+3*1+4*1+1=16。

叶子结点数目等于树结点总数减去度不为0的结点数之和,即16-(4+2+1+1)=8。

4.设二叉树根结点的层次为0,对含有100个结点的二叉树,可能的最大树深和最小树深分别是99和6(要使二叉树在规定结点下有最大树深,这时二叉树退化成一个线性链表,如果对应二叉树的根结点的层次为0,那么对应二叉树的树深为结点个数减1,即99;要使二叉树有最小树深,则此二叉树为满二叉树,当满二叉树的根结点的层次为1时,结点个数n和树深h之间的关系为:

n=2^h-1,所以当二叉树的根结点层次为0时,对应关系为n=2^(h+1)-1。

二叉树的基本性质:

(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;

(2)深度为m的二叉树最多有2的m次方-1个结点;

(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;

例:

深度为5的二叉树至多有2*2*2*2*2-1=31个结点。

具有3个结点的二叉树有5种,

8.例:

设深度为h的二叉树上只有度为0和度为2的结点,则此二叉树中所包含的结点数至少2h-1

为结点最少的情况,除根结点层只有1个结点外,其余h-1层均有两个结点,结点总数=2(h-1)+1=2h-1。

(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分;

(5)具有n个结点的完全二叉树的深度为[log2n]+1;

(6)设完全二叉树共有n个结点。

如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论:

①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2);

②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);

③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。

9.对于深度等于其结点数的二叉树,每层只有一个结点,假设从上向下分别为a1,a2,...,an,则先序遍历序列为a1,a2,...,an。

后序遍历序列为an,an-1,...a1。

遍历序列正好相反。

满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。

10.由满二叉树的树深和结点的关系知,对于深度为h的满二叉树,m个树叶,n个结点,则n=2^h-1即n=2^0+2^1+2^2+......+2^(h-1)=2^h-1。

完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。

11.例:

设一棵叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为13

12.例:

假定根结点的层次是0,含有15个结点的二叉树的最小树深是3(要使二叉树在规定结点数下的深度最小,这样的二叉树只能是完全二叉树。

当根结点的层次为1时,二叉树的结点n和深度h之间的关系是n=2^h-1,所以当二叉树的根结点的层次为0时,结点和树深的关系是n=2^(h+1)-1,所以h=3,n=15)

13.在在深度为5的完全二叉树中,度为2的结点数最多为15

14.树的度是指树内各结点的度的最大值,一棵树中除根结点之外,每个结点都有一个前驱结点,结点拥有子树的个数称为结点的度,所以结点的度数之和即为除根结点外所有结点的个数,即每个结点的度数之和等于结点总数减1,结点的度即是拥有子树的个数,而结点与子树之间是以边连接的,所以一棵树中每个结点的度数之和与边的条数相等,

15.由二叉树的性质知二叉树叶子的个数n(0)和度为2的结点个数n

(2)的关系为n(0)=n

(2)+1。

二叉树的结点个数可以等于0,二叉树中有些不是叶子的结点只有一个子女,

二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。

16.二叉树的遍历:

前序遍历DLR先根结点,后遍历左子树,最后遍历右子树;abdgcefhEFHIGJKEDBACDBEAFC

中序遍历LDR先左子树,后访问根结点,最后遍历右子树;dgbaechfHFIEJKGDEBACABDECF

后序遍历LRD先左子树,后遍历右子树,最后访问根结点gdbehfca右子树为GDACBEDEBFCA

17.在先序、中序、后序遍历序列中叶子结点总是从左向右的。

相对次序是不发生改变的。

是完全相同的。

(任意两种方法遍历同一棵二叉树,可以确保唯一一棵二叉树,无论是用前序遍历、中序遍历、后序遍历二叉树,其区别都在于访问根的先后次序不同,而叶子结点的顺序是一样的。

18.例:

对树的三大部分:

树根、左子树、右子树,存在树根结点大于左子树各个结点,小于右子树各个结点,因此要得到各个结点值的递增序列,应按“左子树-根结点-右子树”的顺序进行访问,这就是中序遍历的遍历过程。

19.例:

设n,m为一棵二叉树上的两个结点,在中序遍历中,n在m后的条件是n在m的右子树上,如果n在m的右子树上,根据中序遍历算法,先访问根结点m,然后再访问右子树上的结点,所以n必然要在m后。

如果n是m的祖先,则m可能在n的左子树上,也可能在n的右子树上,如果m在n的左子树上,根据中序遍历算法,先访问n的左子树,然后访问n结点,所以n必然要在m后,对如果n是m的子孙,则n可能在m的左子树上,也可能在m的右子树上。

中序遍历时,先访问左子树,再访问根结点。

n在m前,则n必须在m的左子树中。

20.在中序遍历序列中,根结点将左右子树分开,左边为左子树中的所有结点,右边为右子树中的所有结点。

21.现有按中序遍历二叉树的结果为abc,问有5种不同形态的二叉树可以得到这样的遍历结果

22.在一棵二叉树中,度为0的结点个数为m,度为2的结点个数为n,则二者之间的关系是m=n+1

23.设一棵完全二叉树共有700个结点,则在该二叉树中有350个叶子结点

1.7查找技术

顺序查找的使用情况:

(1)线性表为无序表;

(2)表采用链式存储结构。

1.顺序查找法适合于线性表,不论采用顺序存储还是链式存储。

散列存储于顺序查找无关,同样压缩存储、索引存储也与顺序查找无关

2.二分法查找也称折半查找,只适用于顺序存储结构的且数据元素按关键字有序的有序表,对于长度为n的有序线性表进行二分查找,最坏情况只需比较log2n次。

3.例:

有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找为82的结点时,4次比校后查找成功。

(此有序表的长度为13,按比较次数log2n计算应该是4。

或先找中间结点45,再找77,95,最后找到82,经过4次比较,)

4.例:

对有18个元素的有序表用二分法查找,则查找A[3]的比较序列的下标为9、4、2、3

第一次(1+18)/2=9,第二次(1+8)/2=4,第三次(1+3)/2=2,第四次(3+3)/2=3。

5.例:

设有一个已按元素的值排好序的线性表(长度大于2),对给定的值k,分别用顺序查找法和二分查找法查找一个与k相等的元素,比较的次数分别是s和b,在查找不成功的情况下,s和b的关系是s>b。

(对于顺序查找,查找不成功时和给定关键字比较的次数为n+1。

二分查找查找不成功的关键字比较次数为[log2n]+1即最大比较次数。

当n>=2时,显然n+1>[log2n]+1。

6.例:

在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为4

(二分查找是用要查找的关键码与线性表的中间元素比较,根据比较结果是结束查找,还是在左边或者右边子表按相同的方法继续查找。

与11比较的关键码分别为15、8、10、12。

比较的次数为4。

7.例:

在顺序表(8,12,16,20,26,27,31,34,43,49,51)中,用二分法查找关键值为21,需做的比较次数为4(首先与27比较,由于21比27小,根据二分法比较的方法,所以接着与27左边的16比较,由于21比16大,所以与16右边的20比较,最后一次与26比较。

所以总共比较了4次。

8.例:

对一个长度为10的排好序的表用二分法查找,若查找不成功,至少需要比较的次数是3

(分查找的值小于表中所有元素和大于表中所有元素两种情况进行分析),

9.例:

在长度为n的线性表中查找一个表中不存在的元素,需要的比较次数为n

10.例:

设线性表(a1,a2,。

,a500)元素的值由小到大排列,对一个给定的k值用二分法查找线性表,在查找不成功的情况下至多需比较9次

(二分法查找在查找不成功的情况下至多需要比较[log2n]+1=9(n=500)。

11.例:

已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用二分法查找100时,需进行3次比较可确定成功(画出二叉树判定树,当查找100时,需要和50、90、110比较,由于110的左子树为空,查找结束,比较了3次。

12.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,可以采用分块查找方法

13.顺序查找法查找长度为n的线性表时,每个元素的平均查找长度为(n+1)/2。

1.8排序技术

排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。

1.交换类排序法:

(1)冒泡排序法,需要比较的次数(在最坏情况下的时间复杂度)为n(n-1)/2;

(2)快速排序法。

2.插入类排序法:

(1)简单插入排序法,最坏情况需要n(n-1)/2次比较;

(2)希尔排序法,最坏情况需要O(n1.5)次比较。

3.选择类排序法:

(1)简单选择排序法,最坏情况需要n(n-1)/2次比较;选择排序的思想为:

扫描整个线性表,从中选出最小的元素,将它交换到表的最前面;然后对剩下的子表采用同样的方法,直到子表空为止。

第一个元素需要比较n-1次,第二个元素需要比较n-2次,依次类推,倒数第二个元素只须比较1次即可,所以总的比较次数为:

(n-1)+(n-2)+...+2+1=n(n-1)/2。

4.

(2)堆排序法,最坏情况需要O(nlog2n)次比较。

堆排序的空间复杂度为O

(1);时间复杂度在最好情况为O(nlog2n),平均情况为O(nlog2n),最坏情况为O(nlog2n)

5.在插入选择排序中,若初始数据基本正序,则选用插入排序;若初始数据基本反序,则选用选择排序。

因为插入排序在初始数据基本正序时时间复杂度为O(n),而选择排序在初始数据基本反序时时间复杂度为O(n)

6.插入排序的基本思想是:

把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1