( )是一种先进先出的线性表。 A 栈 B队列 C哈希表(散列表) D二叉树

2024-05-14

1. ( )是一种先进先出的线性表。 A 栈 B队列 C哈希表(散列表) D二叉树

B 队列
栈的概念是弹压,就像子弹壳装弹,一粒一粒压进去,但是打出来的时候是从上面打出来的,最先压进去的最后弹出来,如果进去顺序是123,打出来顺序是321,这就是后进先出
队列的概念就是我们平时排队,按次序来,你排在第1个,那你就第一个轮到,就是先进先出,先到先来

( )是一种先进先出的线性表。 A 栈 B队列 C哈希表(散列表) D二叉树

2. 计算机里面位序是什么意思?线性表的第一个元素是称为第1个元素还是第0个元素

这个都是称第一个元素,即使是a0开始,只有个别的完全以机器计数的方式才称第0个,不过数组的下标除外。
用一个由若干位组合起来形成的一个位串表示一个数据元素(如:用一个字长的位串表示一个整数,用8位二进制数表示一个字符等),通常称这个位串为元素或结点。



扩展资料:
元素里包含有在网页中所显示的内容。并且被嵌套在元素里。元素里嵌套有元素,以整个元素作为元素的内容;并且被嵌套在元素中。
元素里嵌套有元素和空元素,以这两个元素作为的内容;并且嵌套在元素中。

3. 请分别对顺序表和单链表写出求线性表中下标为i的(第i+1个)元素的前驱和后续的算法

顺序表:前驱a[i-1],后继a[i+1]
线性表:p=head;
       int j=0; 
       while(j!=i)
       {
         j++;
         p=p->next ;
       }
前驱p->data,后继p->next->next->data

请分别对顺序表和单链表写出求线性表中下标为i的(第i+1个)元素的前驱和后续的算法

4. 用C语言完成以下实验: 实验内容及要求: (1)分别建立包含10个数据元素的顺序线性表和链式线性表;

5. 求数据结构题

就行了,准过!
第一章:绪论
1.1:数据结构课程的任务是:讨论数据的各种逻辑结构、在计算机中的存储结构以及各种操作的算法设计。

1.2:数据:是客观描述事物的数字、字符以及所有的能输入到计算机中并能被计算机接收的各种集合的统称。

数据元素:表示一个事物的一组数据称作是一个数据元素,是数据的基本单位。

数据项:是数据元素中有独立含义的、不可分割的最小标识单位。

数据结构概念包含三个方面:数据的逻辑结构、数据的存储结构的数据的操作。

1.3数据的逻辑结构指数据元素之间的逻辑关系,用一个数据元素的集合定义在此集合上的若干关系来表示,数据结构可以分为三种:线性结构、树结构和图。

1.4:数据元素及其关系在计算机中的存储表示称为数据的存储结构,也称为物理结构。

   数据的存储结构基本形式有两种:顺序存储结构和链式存储结构。

   2.1:算法:一个算法是一个有穷规则的集合,其规则确定一个解决某一特定类型问题的操作序列。算法规则需满足以下五个特性:

输入——算法有零个或多个输入数据。 
输出——算法有一个或多个输出数据,与输入数据有某种特定关系。 
有穷性——算法必须在执行又穷步之后结束。 
确定性——算法的每个步骤必须含义明确,无二义性。 
可行性——算法的每步操作必须是基本的,它们的原则上都能够精确地进行,用笔和纸做有穷次就可以完成。 
    有穷性和可行性是算法最重要的两个特征。

2.2:算法与数据结构:算法建立数据结构之上,对数据结构的操作需用算法来描述。

  算法设计依赖数据的逻辑结构,算法实现依赖数据结构的存储结构。

2.3:算法的设计应满足五个目标:

正确性:算法应确切的满足应用问题的需求,这是算法设计的基本目标。 
健壮性:即使输入数据不合适,算法也能做出适当的处理,不会导致不可控结 
高时间效率:算法的执行时间越短,时间效率越高。        果。 
高空间效率:算法执行时占用的存储空间越少,空间效率越高。 
可读性:算法的可读性有利于人们对算法的理解。 
   2.4:度量算法的时间效率,时间复杂度,(课本39页)。

2.5:递归定义:即用一个概念本身直接或间接地定义它自己。递归定义有两个条件:

至少有一条初始定义是非递归的,如1!=1. 
由已知函数值逐步递推计算出未知函数值,如用(n-1)!定义n!。 
第二章:线性表
1.1线性表:线性表是由n(n>=0)个类型相同的数据元素a0,a1,a2,…an-1,组成的有限序列,记作:        LinearList = (a0,a1,a2,…an-1)

其中,元素ai可以是整数、浮点数、字符、也可以是对象。n是线性表的元素个数,成为线性表长度。若n=0,则LinearList为空表。若n>0,则a0没有前驱元素,an-1没有后继元素,ai(0<i<n-1)有且仅有一个直接前驱元素ai-1和一个直接后继元素ai+1。

1.2线性表的顺序存储是用一组连续的内存单元依次存放线性表的数据元素,元素在内存的物理存储次序与它们在线性表中的逻辑次序相同。

线性表的数据元素数据同一种数据类型,设每个元素占用c字节,a0的存储地址为

Loc(a0),则ai的存储地址Loc(ai)为:Loc(ai) = Loc(a0)+ i*c    

   数组是顺序存储的随机存储结构,它占用一组连续的存储单元,通过下标识别元素,元素地址是下标的线性函数。

1.3:顺序表的插入和删除操作要移动数据元素。平均移动次数是                                                                                                                                                                                                                                                                                                 属数据表长度的一半。(课本第50页)

1.4:线性表的链式存储是用若干地址分散的存储单元存储数据元素,逻辑上相邻的数据元素在物理位置上不一定相邻,必须采用附加信息表示数据元素之间的顺序关系。

它有两个域组成:数据域和地址域。通常成为节点。(课本第55页及56页)

1.5单链表(课本56页)

单链表的遍历:Node<E> p = head;   while(p!=null)

单链表的插入和删除操作非常简便,只要改变节点间的链接关系,不需移动数据元素。

单链表的插入操作:1):空表插入/头插入    2)中间插入/尾插入

   if(head == null)                    Node<E>  q = new Node<E>(x);

   {   head = new Node<E>(x);           q.next = p.next;

   }else{                           p.next = q;

    Node<E>  q=new Node<E>(x);        中间插入或尾插入都不会改变单表

    q.next = head;                    的头指针head。

    head = q;  

   }

单链表的删除操作:

头删除:head = head.next; 
中间/尾删除:if(p.next!=null) 
循环单链表:如果单链表最后一个节点的next链保存单链表的头指针head值,则该单链表成为环形结构,称为循环单链表。(课本67)

若rear是单链表的尾指针,则执行(rear.next=head;)语句,使单链表成为一条循环单链表。当head.next==head时,循环单链表为空。

1.6:双链表结构:双链表的每个结点有两个链域,分别指向它的前驱和后继结点,

  当head.next==null时,双链表为空。

  设p指向双链表中非两端的某个结点,则成立下列关系:p=p.next.prev=p.prev.next。

双链表的插入和删除:1)插入         2)删除

q=new DLinkNode(x);                 p.prev.next = p.next;

q.prev=p.prev;q.next =p;                   if(p.next=null){

p.prev.next = q;p.prev=q;                     (p.next).prev = p.prev;}

循环双链表:当head.next==head且head.prev==head时,循环双链表为空。

第三章:栈和队列
1.1栈:栈是一种特殊的线性表,其中插入和删除操作只允许在线性表的一端进行。允许操作的一端称为栈顶,不允许操作的一端称为栈底。栈有顺序栈和链式栈。

栈中插入元素的操作称为入栈,删除元素的操作称为出栈。没有元素的中称为空栈。

栈的进出栈顺序:后进先出,先进后出。(及75页的思考题)。

1.2:队列:队列是一种特殊的线性表,其中插入和删除操作分别在线性表的两端进行。

向队列中插入元素的过程称为入队,删除元素的过程称为出对,允许入队的一端称为队尾,允许出队的一端称为对头。没有元素的队列称为空队列。队列是先进先出。

第四章:串
1.1:串是一种特殊的线性表,其特殊性在于线性表中的每个元素是一个字符。一个串记为:  s=“s0s1s2…sn-1”    其中n>=0,s是串名,一对双引号括起来的字符序列s0s1s2…sn-1是串值,si(i=0,1,2,…n-1)为特定字符集合中的一个字符。一个串中包含的字符个数称为串的长度。

长度为0的串称为空串,记作“”,而由一个或多个空格字符构成的字符串称为空格串。

子串:由串s中任意连续字符组成的一个子序列sub称为s的子串,s称为sub的主串。子串的序号是指该子串的第一个字符在主串中的序号。

串比较:两个串可比较是否相等,也可比较大小。两个串(子串)相等的充要条件是两个串(子串)的长度相同,并且各对应位置上的字符也相同。

两个串的大小由对应位置的第一个不同字符的大小决定,字符比较次序是从头开始依次向后。当两个串长度不等而对应位置的字符都相同时,较长的串定义为较“大”。

第五章:数组和广义表
1.1:数组是一种数据结构,数据元素具有相同的数据类型。一维数组的逻辑结构是线性表,多维数组是线性表的扩展。

1.2:一维数组:一维数组采用顺序存储结构。一个一维数组占用一组连续的存储单元。

设数组第一个元素a0的存储地址为Loc(a0),每个元素占用c字节,则数组其他元素ai的存储地址Loc(ai)为:   Loc(ai)= Loc(a0)+i*c

数组通过下标识别元素,元素地址是下标的线性函数。一个下标能够唯一确定一个元素,所划给的时间是O(1)。因此数组是随机存取结构,这是数组最大的优点。

1.3:多维数组的遍历:有两种次序:行主序和列主序。

行主序:以行为主序,按行递增访问数组元素,访问完第i行的所有元素之后再访问第i+1行的元素,同一行上按列递增访问数组元素。 
a00,a01,…a0(n-1), a10,a11,…a1(n-1),…a(m-1)0,a(m-1)1,…,a(m-1)(n-1)

    2)列主序:以列为主序,按列递增访问数组元素,访问完第j列的所有元素之后再访问第j+1列的元素,同一列上按列递增访问数组元素。    

   多维数组的存储结构:多维数组也是由多个一维数组组合而成,组合方式有一下两种。

静态多维数组的顺序存储结构:可按行主序和列主序进行顺序存储。 
按行主序存储时,元素aij的地址为:Loc(aij)= Loc(a00)+(i*n+j)*c

按列主序存储时,Loc(aij)= Loc(a00)+(j*m+i)*c

动态多维数组的存储结构。 
   二维数组元素地址就是两个下标的线性函数。无论采用哪种存储结构,多维数组都是基于一维数组的,因此也只能进行赋值、取值两种存取操作,不能进行插入,删除操作。

第六章:

树是数据元素(结点)之间具有层次关系的非线性结构。在树结构中,除根以外的结点只有一个直接前驱结点,可以有零至多个直接后继结点。根没有前驱结点。

树是由n(n>=0)个结点组成的有限集合(树中元素通常称为结点)。N=0的树称为空树;n>0大的树T;

@有一个特殊的结点称为根结点,它只有后继结点,没有前驱结点。

@除根结点之外的其他结点分为m(m>=0)个互不相交的集合T0,T1,T3……..,Tm-1,其中每个集合Ti(0<=i<m)本身又是一棵树,称为根的子树。

树是递归定义的。结点是树大的基本单位,若干个结点组成一棵子树,若干棵互不相交的子树组成一棵树。树的每个结点都是该树中某一棵子树的根。因此,树是由结点组成的、结点之间具有层次关系大的非线性结构。 

结点的前驱结点称为其父母结点,反之,结点大的后继结点称为其孩子结点。一棵树中,只有根结点没有父母结点,其他结点有且仅有一个父母结点。

拥有同一个父母结点的多个结点之间称为兄弟结点。结点的祖先是指从根结点到其父母结点所经过大的所有结点。结点的后代是指该结点的所有孩子结点,以及孩子的孩子等。

结点的度是结点所拥有子树的棵数。度为0的结点称为叶子结点,又叫终端结点;树中除叶子结点之外的其他结点称为分支结点,又叫非叶子结点或非终端结点。树的度是指树中各结点度的最大值。

结点的层次属性反应结点处于树中的层次位置。约定根结点的层次为1,其他结点的层次是其父母结点的层次加1。显然,兄弟结点的层次相同。

树的高度或深度是树中结点的最大层次树。

设树中x结点是y结点的父母结点,有序对(x,y)称为连接这两个结点的分支,也称为边。

设(X0,X1,….,Xk-1)是由树中结点组成的一个序列,且(Xi,Xi+1)(0<=i<k-1)都是树中的边,则该序列称为从X0到Xk-1的一条路径。路径长度为路径上的边数。

在树的定义中,结点的子树T0,T1…..,Tm-1之间没有次序,可以交换位置,称为无序树,简称树。如果结点的子树T0,T1……,Tm-1从左到右是有次序的,不能交换位置,则 称该树为有序树。

森林是m(m>=0)棵互不相干的树的集合。给森林加上一个根结点就变成一棵树,将树的根节点删除就变成森林。

二叉树的性质1:若根结点的层次为1,则二叉树第i层最多有2  的i-1次方(i>=1)个结点。

二叉树的性质2:在高度为k的二叉树中,最多有2的k次方减一个结点。

二叉树的性质3:设一棵二叉树的叶子结点数为n0,2度结点数为n2,则n0=n2+1。

一棵高度为k的满二叉树是具有2的k次方减一个结点的二叉树。满二叉树中每一层的结点数目都达到最大值。对满二叉树的结点进行连续编号,约定根节点的序号为0,从根节点开始,自上而下,每层自左至右编号。

一棵具有n个结点高度为k的二叉树,如果他的每个节点都与高度为k的满二叉树中序号为0~n-1

的结点一一对应,则这棵二叉树为为完全二叉树。

满二叉树是完全二叉树,而完全二叉树不一定是满二叉树。完全二叉树的第1~k-1层是满二叉树第k层不满,并且该层所有结点必须集中在该层左边的若干位置上。

二叉树的性质4:一棵具有n个结点的完全二叉树,其高度k=log2n的绝对值+1

二叉树的性质5:一棵具有n个结点的完全二叉树,对序号为i的结点,有

@若i=0,则i为根节点,无父母结点;若i>0,则i的父母结点的序号为[(i-1)/2]。

@若2i+1<n,则i的左孩子结点序号为2i+1;否则i无左孩子。

@若2i+2<n,则i的右孩子结点的序号为2i+2,否则i无右孩子。

二叉树的遍历

二叉树的遍历是按照一定规则和次序访问二叉树中的所有结点,并且每个结点仅被访问一次。

二叉树的三种次序遍历

1:先根次序;访问根节点,遍历左子树,遍历右子树。

2:中根次序;遍历左子树,访问右子树,遍历右子树。

3:后根次序;遍历左子树,遍历右子树,访问根节点。

先根次序遍历时,最先访问根节点;后根次序遍历时,最后访问根节点;中根次序遍历时,左子树上的结点在根节点之前访问,右子树上的结点在根节点之后访问。

二叉树的插入和删除操作P147

二叉树的层次遍历P149

习题P167    6—10,6—19

第七章

图是由定点集合及顶点间的关系集合组成的一种数据关边系。顶点之间的关系成为边。一个图G记为G=(V,E),V是顶点A的有限集合,E是边的有限集合。即  V=

E=或E=其中Path(A,B)表示从顶点A到B的一条单向通路,即Path(A,B)是有方向的。

无向图中的边事没有方向,每条边用两个顶点的无序对表示。

有向图中的边是有方向,每条边用两个顶点的有序对表示。

完全图指图的边数达到最大值。n个顶点的完全图记为Kn。无向完全图Kn的边数为n*(n-1)/2,有向完全图Kn的边数为n*(n-1)。

子图:设图G==(V,E),G’=(V’,E’),若V’包含于V且E’包含于E,则称图G’是G的子图。若G’是G的真子图。

连通图:在无向图G中,若从顶点VI到Vj有路径,则称Vi和Vj是联通的。若图G中任意一对顶点Vi和Vj(Vi不等于Vj)都是联通的,则称G为连通图。非连通图的极大联通子图称为该图的联通分量。

强连通图:在有向图中,若在每一对顶点Vi和Vj(Vi不等于Vj)之间都存在一条从Vi到Vj的路径,也存在一条从Vi到Vj的路径,也存在一条从Vi到Vj的路径,则称该图的强连通图。非强连通图的极大强连通子图称为该图的强连通图分量。

图的遍历

遍历图是指从图G中任意一个顶点V出发,沿着图中的边前行,到达并访问图中的所有顶点,且每个顶点仅被访问一次。遍历图要考虑一下三个问题:

@指定遍历的第一个访问顶点

@由于一个顶点可能与多个顶点相邻,因此要在多个邻接顶点之间约定一种访问次序。

@由于图中可能存在回路,在访问某个顶点之后,可能沿着某条路径又回到该顶点。

深度优先搜索

图的深度优先搜索策略是,访问某个顶点v,接着寻找v的另一个未被访问的邻接顶点w访问,如此反复执行,走过一条较长路径到达最远顶点;若顶点v没有未被访问的其他邻接顶点,则回到前一个被访问顶点,再寻找其他访问路径。

图的深度优先搜索遍历算法P188

 联通的无回路的无向图,简称树。树中的悬挂点又成为树叶,其他顶点称为分支点。各连通分量均为树的图称为森林,树是森林。

由于树中无回路,因此树中必定无自身环也无重边(否则他有回路)若去掉树中的任意一条边,则变成森林,成为非联通图;若给树加上一条边,形成图中的一条回路,则不是树。P191

生成树和生成森林:

一个连通无向图的生成树是该图的一个极小联通生成子图,它包含原图中所有顶点(n个)以及足以构成一棵树的n-1条边。

 一个非联通的无向图,其各连通图分量的生成图组成该图的生成森林。

图的生成图或生成森林不是唯一的,从不同顶点开始、采用不同遍历可以得到不同的生成树或森林。

  在生成树中,任何树中,任何两个顶点之间只有唯一的一条路径。

第八章

折半查找算法描述 P206,P207

二叉排序树及其查找:

二叉排序树或者是一棵空树;或者是具有下列性质的二叉树:

@每个结点都有一个作为查找依据的关键字,所有结点的关键字互不相同。

@若一个结点的左子树不空,则左子树上所有结点的关键字均小于这个节点的关键字;

@每个结点的左右子树也分别为二叉排序树。

在一棵二叉排序树中,查找值为value的结点,算法描述如下:

@从根结点开始,设p指向根结点

@将value与p结点的关键字进行比较,若两者相等,则查找成功;若value值较小,则在p的左子树中继续查找;若value值较大,则在p的右子树中继续查找。

@重复执行上一步,直到查找成功或p为空,若p为空,则查找不成功。

习题   8-6 

第九章

直接插入排序算法描述:p228

冒泡排序算法的描述:p232

快速排序算法描述p233

直接选择排序算法描述p236

直接选择排序算法实现如下:

Public static void selectSort(int[]table){

   for(int i=0;i<table.length-1;i++){

    int min=I;

   for(int j=i+1;j<table.length;j++){

   if(table[j]<table[min])

     min=j;

   if(min!=i){

    int temp=table[i];

    table[i]==table[min];

    table[min]=temp;

}

}

}

}




堆排序是完全二叉树的应用,是充分利用完全二叉树特性的一种选择排序。

堆定义:设n个元素的数据序列,当且仅当满足下列关系

k1<=k2i+1且ki<=k2i+2  i=0,1,2,3,….,[n/2-1]

或ki>==k2i+1且ki>=2i+2i=0,1,2,3,…..[n/2-1]时,序列称为最小堆或最大堆。将最小(大)堆看成是一颗完全二叉树的层次遍历序列,则任意一个结点的关键字都小于等于(大于等于)它的孩子节点的关键字值,由此可知,根结点值最小(大)。根据二叉树的性质5,完全二叉树中的第i(0<=i<n)个结点,如果有孩子,则左孩子为第2i+1个结点,右孩子为第2i+2个结点。

希望对你会有所帮助。

求数据结构题

6. 请对单链表写出求线性表中下表为i的(第i+1个)元素的前驱和后继的算法.

用两个指针,错开一步,同时前进即可

7. 1、 线性表的顺序表、单链表和双链表的类型是如何定义的

顺序表:typedef struct{ ElemType  *elem;int length;int listsize;}SqList;
单链表:typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;
双链表:typedef struct DuLNode{ ElemType data;struct DuLNode  *prior;struct DuLNode  *next; }DuLNode , *DuLinkList;

1、 线性表的顺序表、单链表和双链表的类型是如何定义的

8. 数据结构判断题

您好!数据结构习题
一、选择题
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,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是(   )。
A.ABCED         B.DBCEA         C.CDABE         D.DCBEA
6.若进栈序列为1,2,3,4,则(  )不可能是出栈序列。
A.1,2,3,4      B.4,3,2,1      C.3,4,2,1     D.2,4,3,1
7.在深度为8的满二叉树中,叶子结点的个数为(   )
A.63                B.64                C.127              D.128
*8.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(   )。A.cedba       B. acbed        C. decab       D.deabc
9. 设有下列二叉树:
              
对此二叉树中序遍历的结果为___
A)ABCDEF             B)DBEAFC
C)ABDECF              D)DEBFCA
10. 下列关于栈的叙述中正确的是____
  A)在栈中只能插入数据         B)在栈中只能删除数据
  C)栈是先进先出的线性表       D)栈是先进后出的线性表
11. 下列关于队列的叙述中正确的是___
  A)在队列中只能插入数据       B)在队列中只能删除数据
  C)队列是先进先出的线性表      D) 队列是先进后出的线性表
12. 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为___
  A)N+1    B)N     C)(N +1)/2     D)N/2
13. 在计算机中,算法是指___
  A)查询方法     B)加工方法    C)解题方案的准确而完整的描叙  D)排序方法
二、填空题
1.栈的基本运算有三种:入栈、退栈和【  】。
2.对长度为N的线性表进行顺序查找,当查找失败时比较次数为【  】。
3.在长度为N的线性表中进行二分查找,在最快的情况下,需要比较的次数为【   】。
4.设待排数据元素的关键字为(67,24,14,22,33,15,11,15),用选择法将其按升序排序,需要比较的次数为【  】。
5.某二叉树中度为2的结点有12个,则该二叉树中有 【   】个叶子结点。
6.设一棵二叉树中有3个叶子结点,有6个度为1的结点,则该二叉树中总的结点数为【  】   个。
*7.在深度为5的完全二叉树中,度为2的结点数最多为【  】个。
8.对下列二叉树进行前序、中序和后序遍历的结果分别是【  】 、【  】和 【  】 。

前序遍历  FCADBEG、中序遍历 ACBDFEG   后序遍历 ABDCGEF
9. 在深度为5的满二叉树中,叶子结点的个数为【    】一、选择题
1.C
2.D
解析:A.完全二叉树可以用数组存储,树是非线性结构
      B.链表且插入和删除运算效率高
      C.链表也有双向链表 ,有两个指针域
3.A
4.A.顺序表可随机访问任一元素
5.D
6.这道题你是不是弄错了  全都对啊
7.D  满二叉树 :结点总数目N=2^H -1 H为数高度  ,求出结点总数为255
          满二叉树,只有度为0 和度为2 的结点,度为0 的结点等于度为1 结点数目+1  因此选D           
8.C  这题不用画图就可做出来, 后序遍历序列是dabec,------》得到根节点是:c
              前序遍历;根左右  所以第一个一定是c 只有A项符合        
9. A  虽然你没给图 但是一般都是A相  因为见过好多这个题 中序遍历和层次遍历结果一样
10. D
11.C
12.B 在最坏情况:比较次数为___每次查找都要从第一个比较到最后一个,都要遍历N次 :
    总的比较次数N*N,平均比较次数就是N
 13. C
二、填空题
1.出栈
2.n/2+n/(n+1)                 1+2+3……n+n)/(n+1)=.n/2+n/(n+1) 
3.1
4.设待排数据元素的关键字为(67,24,14,22,33,15,11,15),用选择法将其按升序排序,需要比较的次数为【  】。
5.13
6.11            3+6+2=11 
*7.15      方法 同选择题 上那个满二叉树
8.无图
9. 16    和第七题一样的方法
最新文章
热门文章
推荐阅读