精华内容
下载资源
问答
  • 数据结构>> 邓俊辉 上述C(k)的递推公式看了好久都没看懂(深刻受到清华的降维打击,差点放弃学习)。 期间主要参考了如下帖子: https://ask.csdn.net/questions/699067,其回答对于我,起到了非常重要的...

    来源:<<数据结构>> 邓俊辉

    上述C(k)的递推公式看了好久都没看懂(深刻受到清华的降维打击,差点放弃学习)。

    期间主要参考了如下帖子:

    https://ask.csdn.net/questions/699067,其回答对于我,起到了非常重要的作用。

    对于C(k)来说,我的理解、或者大家有误的理解是:C(k)=C(k-1)+ +2+C(k-1)+ 2 。按照上述回答的理解,C(k-1)是下一层实例得到的总比较次数。1表示一次比较失败,2表示两次比较成功,2表示两次比较失败。

    其中错误的地方在于C(k-1)是只能看作b层左右两个部分的总比较次数,而不能看作a层元素2左右两部分的总比较次数。要想把C(k-1)看作a层左边部分的总比较次数,就需要加上2^(k-1)。因为上述回答也提到,我们可以理解a层左边部分的总比较次数比b层左分支的总比较次数多了2^(k-1),因为a层想要进入b层左分支,那么b层左分支所有元素的比较次数都需要加1次失败的比较,而b层左分支共有2^(k-1)个元素,故不难得出。b层右侧同理。

     

    展开全文
  • 若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。A.(n-1)/2B.n/2C.(n+1)/2D.n2.下面关于二分查找的叙述正确的是()A.表必须有序,表可以顺序方式...

    第九章

    查找

    一、

    选择题

    1.

    若查找每个记录的概率均等,

    则在具有

    n

    个记录的连续顺序文件中采用顺序查找法查找一

    个记录,其平均查找长度

    ASL

    (    )

    A

    (n-1)/2       B. n/2        C. (n+1)/2        D. n

    2.

    下面关于二分查找的叙述正确的是

    (    )

    A.

    表必须有序,

    表可以顺序方式存储,

    也可以链表方式存储

    C.

    表必须有序,

    而且只

    能从小到大排列

    B.

    表必须有序且表中数据必须是整型,

    实型或字符型

    D.

    表必须有序,

    且表只

    能以顺序方式存储

    3.

    用二分(对半)查找表的元素的速度比用顺序法

    (    )

    A

    .必然快

    B.

    必然慢

    C.

    相等

    D.

    不能确定

    4.

    具有

    12

    个关键字的有序表,折半查找的平均查找长度(

    )

    A. 3.1            B. 4            C. 2.5            D. 5

    5

    .当采用分块查找时,数据的组织方式为

    (    )

    A

    .数据分成若干块,每块内数据有序

    B

    .数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)

    的数据组成索引块

    C.

    数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块

    D.

    数据分成若干块,每块(除最后一块外)中数据个数需相同

    6.

    二叉查找树的查找效率与二叉树的

    (

    (

    1

    )

    )

    有关

    ,

    (

    (

    2

    )

    )

    时其查找效率最低

    (1):  A.

    高度

    B.

    结点的多少

    C.

    树型

    D.

    结点的位置

    (2):  A.

    结点太多

    B.

    完全二叉树

    C.

    呈单枝树

    D.

    结点太复杂。

    7.

    对大小均为

    n

    的有序表和无序表分别进行顺序查找

    ,

    在等概率查找的情况下

    ,

    对于查找失

    ,

    它们的平均查找长度是

    ((1)) ,

    对于查找成功

    ,

    他们的平均查找长度是

    ((2))

    供选择

    的答案

    :

    A.

    相同的

    B.

    不同的

    9

    .分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是

    (    )

    A

    (

    100

    80

    90

    60

    120

    110

    130

    )

    B.

    (

    100

    120

    110

    130

    80

    60

    90

    )

    C.

    (

    100

    60

    80

    90

    120

    110

    130

    )

    D.

    (100

    80

    60

    90

    120

    130

    110)

    10.

    在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为

    A,

    并已知

    A

    左孩子的平衡因子为

    0

    右孩子的平衡因子为

    1,

    则应作

    (    )

    型调整以使其平衡。

    A.  LL           B. LR          C.  RL          D.  RR

    11.

    下面关于

    m

    B-

    树说法正确的是

    (    )

    ①每个结点至少有两棵非空子树;

    ②树中每个结点至多有

    m

    1

    个关键字

    ;

    ③所有叶子在同一层上

    ;

    ④当插入一个数据项引起

    B

    树结点分裂后,树

    长高一层。

    A

    ①②③

    B.

    ②③

    C.

    ②③④

    D.

    12. m

    B-

    树是一棵

    (    )

    A.

    m

    叉排序树

    B.

    m

    叉平衡排序树

    C.  m-1

    叉平衡排序树

    D.  m+1

    叉平衡排序树

    15.

    设有一组记录的关键字为

    {19

    14

    23

    1

    68

    20

    84

    27

    55

    11

    10

    79}

    ,用链

    地址法构造散列表,散列函数为

    H

    (

    key

    )

    =key

    MOD

    13,

    散列地址为

    1

    的链中有(

    )

    个记录。

    A

    1           B. 2         C. 3         D. 4

    16.

    关于哈希查找说法不正确的有几个

    (    )

    (

    1

    )采用链地址法解决冲突时,查找一个元素的时间是相同的

    (

    2

    )采用链地址法解决冲突时,若插入规定总是在链首,则插入任一个元素的时间是

    相同的

    (

    3

    )用链地址法解决冲突易引起聚集现象

    (

    4

    )再哈希法不易产生聚集

    展开全文
  • 若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。A.(n-1)/2B.n/2C.(n+1)/2D.n3.适用于折半查找的表的存储方式及元素排列要...

    习题八

    查找

    一、单项选择题

    1

    .顺序查找法适合于存储结构为(

    )的线性表。

    A

    散列存储

    B.

    顺序存储或链式存储

    C.

    压缩存储

    D.

    索引存储

    2.

    若查找每个记录的概率均等,

    则在具有

    n

    个记录的连续顺序文件中采用顺序查找法查找一

    个记录,其平均查找长度

    ASL

    (    )

    A

    (n-1)/2       B. n/2        C. (n+1)/2        D. n

    3

    .适用于折半查找的表的存储方式及元素排列要求为

    (    )

    A

    .链接方式存储,元素无序

    B

    .链接方式存储,元素有序

    C

    .顺序方式存储,元素无序

    D

    .顺序方式存储,元素有序

    4

    .当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但

    前者比后者的查找速度

    (    )

    A

    .必定快

    B.

    不一定

    C.

    在大部分情况下要快

    D.

    取决于表递增还是递减

    5

    .当采用分块查找时,数据的组织方式为

    (    )

    A

    .数据分成若干块,每块内数据有序

    B

    .数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)

    的数据组成索引块

    C.

    数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块

    D.

    数据分成若干块,每块(除最后一块外)中数据个数需相同

    6

    .二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右

    孩子的值。这种说法(

    )

    A

    .正确

    B.

    错误

    7.

    二叉查找树的查找效率与二叉树的

    (

    (

    1

    )

    )

    有关

    ,

    (

    (

    2

    )

    )

    时其查找效率最低。

    (1):  A.

    高度

    B.

    结点的多少

    C.

    树型

    D.

    结点的位置

    (2):  A.

    结点太多

    B.

    完全二叉树

    C.

    呈单枝树

    D.

    结点太复杂。

    8

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

    (    )

    查找

    法。

    A.

    分快查找

    B.

    顺序查找

    C.

    折半查找

    D.

    基于属性

    9

    .分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是

    (    )

    A

    (

    100

    80

    90

    60

    120

    110

    130

    )

    B.

    (

    100

    120

    110

    130

    80

    60

    90

    )

    C.

    (

    100

    60

    80

    90

    120

    110

    130

    )

    D.

    (100

    80

    60

    90

    120

    130

    110)

    10

    .下图所示的

    4

    棵二叉树

    ,(    )

    是平衡二叉树。

    展开全文
  • 折半查找----又称为二分查找,这种查找方法需要待查的查找表满足两个条件:首先,查找表必须使用顺序存储结构;其次,查找表必须按关键字大小有序排列。下面通过一个实际的例子来分析折半查找算法的执行步骤。假设有...

    折半查找----又称为二分查找,这种查找方法需要待查的查找表满足两个条件:首先,查找表必须使用顺序存储结构;其次,查找表必须按关键字大小有序排列。

    下面通过一个实际的例子来分析折半查找算法的执行步骤。假设有如下经过排序的数据:3 、12 、31 、42 、54 、59 、69 、77 、90 、97 。待查找关键字为42 。在折半查找过程如下:

    (1) 取中间数据项mid 与待查找关键字42 对比, mid 项的值大千42 。因此, 42 应该在数据的前半部分。

    (2) 取前半部分的中间数据项mid 与待查找关键字42 对比, mid 项的值小于42 。因此,42 应该在数据的后半部分。

    (3) 取后半部分的中间数据项mid 与待查找关键字42 对比, mid 项的值小于42 。因此,42 应该在数据的后半部分。

    (4) 最后数据仅剩一项,将其作为mid 与待查找关键字42 对比,正好相等,表示查找到该数据。这样,经过4 次比较便查找到42 所在的位置.

    a42af10c-9a23-eb11-8da9-e4434bdf6706.png

    以下代码展示:

    private static int binarySearch(int[] arr, int key){
    		if(arr == null)
    			return -1;
    		int len = arr.length;
    		if(len == 0)
    			return -1;
    		//定义最小和最大索引
    		int low = 0;
    		int high = len -1;
    		int mid = low + high >> 1;
    		if(key < arr[low] || key > arr[high])
    			return -1;
    		
    		while(high >= low){
    			//三种情况
    			if(arr[mid] == key){
    				return mid;
    			}else if(arr[mid]< key){//去右边找
    				low = mid + 1;
    			}else{
    				high = mid -1;
    			}
    			//再次二分
    			mid = low + high >> 1;
    			counter ++;
    		}
    		
    		return -1;
    	}
    

    在最坏的情况下,折半查找所需的比较次数为O(nlog2n),其查找效率比顺序查找法要快很多。

    展开全文
  • 数据结构第9章例题与答案...若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度asl为()。【北京航空航天大学2000一、8(2分)】a.(n-1)/2b.n/2c.(n+1)/2d.n2....
  • 通过比较折半查找平均查找长度,同前面介绍的顺序查找相对比,明显折半查找的效率要高。但是折半查找算法只适用于有序表,同时仅限于查找表用顺序存储结构表示。 当查找表使用链式存储结构表示时,折半...
  • 3.数据结构:顺序查找和折半查找

    千次阅读 2021-04-03 08:07:36
    数据结构之查找算法 摘要:在本篇文章中,主要讲述了在数据结构中所涉及的几大查找算法,包括:顺序查找、折半查找、分块查找和散列表查找。...在查找算法中,最为重要的便是算法的平均查找长度, ...
  • 折半查找又叫二分查找,是数据结构中一种很重要的查找方式。 其特点有以下几个: 只能对有序的顺序表进行查找。 是一种静态查找。 查找的平均时间复杂度为o(log2n)。 成功平均查找长度ASL约log2(n+1)-1。 ...
  • ”主要知识点查找表的检索机制平均查找长度折半查找表二叉排序树哈希表1 查找表的检索机制本章给出了三种类型的查找表,第一类是线性索引,记录关键字一般按序排列,以提高检索速度。对应检索采用基于比较检索方法。...
  • 查找成功的平均查找长度为log2(n+1)-1 折半查找判定树的树高为log2(n+1)向上取整 下面投放折半查找代码 #include <stdio.h> #include <stdlib.h> #define MaxSize 50 #define keyType int //顺序...
  • ”主要知识点查找表的检索机制平均查找长度折半查找表二叉排序树哈希表1 查找表的检索机制本章给出了三种类型的查找表,第一类是线性索引,记录关键字一般按序排列,以提高检索速度。对应检索采用基于比较检索方法。...
  • 1、 折半查找需要查找表中的数据有序的排列,首先将查找关键字k与表中间的元素R[mid]进行对比,若k&gt;R[mid],则将最左端的下标low更新为mid右边的第一...折半查找平均查找长度为 时间复杂度为O(log n) ...
  • 顺序查找的算法简单,但是平均查找长度较大,特别不适用于较大的查找表 其查找查找的平均长度为(1+n)/2 1、折半查找举例及总结 2、折半查找伪代码 折半查找是分治类算法可以用递归来实现 3、折半查找算法分析 .....
  • 缺点:当线性表的表长过于长时,平均查找长度较大,效率低。 优点:对顺序表中数据元素的存储没有要求,顺序存储链式存储均可。 需注意:对于线性表的链式存储只能使用顺序查找. 折半查找,又称二分查找,它仅适用于...
  • 缺点:平均查找长度较大 O(n) 2、折半查找 优点:平均查找长度小、查找速度快O(log2n) 缺点:只限于顺序有序表,不适于线性链表 但维护表有序性效率为 O(n) 3、索引顺序表 动态查找表 (存储结构用二叉链表) 1、...
  • 平均查找长度是所有查找过程中进行关键字的比较次数的平均值 失败的平均查找长度:图画出来,补充为二叉树,其中补上的层数之和是分子,列表长度 len+1 是分母 顺序查找 顺序查找主要是用于线性表中的查找。在查找中...
  • 数据结构查找

    千次阅读 2021-01-31 11:33:25
    文章目录数据结构 查找顺序查找老刘完蛋玩意折半查找分块查找 ...5.平均查找长度:ASL=求和Pi*Ci(Pi为查找表中第i个记录的概率,Ci为和给定值进行过的关键字个数) 顺序查找 老刘完蛋玩意 折半查找 分块查找
  • 数据分成两半,再判断所查找的key在哪一半...通过比较折半查找平均查找长度,同前面介绍的顺序查找相对比,明显折半查找的效率要高。但是折半查找算法只适用于有序表,同时仅限于查找表用顺序存储结构表示。 当...
  • 查找8.2 顺序表8.2.1 顺序表的查找基本思想顺序存储结构下的顺序查找算法平均查找长度8.2.2 有序表的折半查找折半查找的算法思想折半查找算法一般代码二叉搜索树 8.2 顺序表 采用顺序存储结构数据表称为顺序表。...
  • 折半查找(二分查找)是一种简单而又高效的查找算法,其查找长度至多为㏒2n+1(判定树的深度),平均查找长度为㏒2(n+1)-1,效率比顺序查找要高,但折半查找只能适用于顺序存储有序表(如对线性链表就无法有效地进行...
  • 基础算法之五-查找: 折半查找

    万次阅读 2012-05-28 11:10:04
    折半查找(二分查找)是一种简单而又高效的查找算法,其查找长度至多为㏒2n+1(判定树的深度),平均查找长度为㏒2(n+1)-1,效率比顺序查找要高,但折半查找只能适用于顺序存储有序表(如对线性链表就无法有效地...
  • 数据结构——查找

    2020-10-15 13:36:47
    这章主要介绍了一些常用的查找方法 |- 基本概念 |- 顺序查找 |- 线性结构------|- 折半查找 |- 分块查找 ... |- 效率指标 —— 平均查找长度---|- 查找成功 |- 查找失败 ...
  • 数据结构查找

    2020-07-20 22:37:12
    ASL:即平均查找长度(平均比较次数),是衡量一个查找算法效率优劣的标准 1.顺序查找 顺序表的查找分为有序查找和无序查找 无序查找 1.无序查找的代码实现 ①通过添加哨兵的方式 2.查找成功和失败的ASL 注意...
  • 平均查找长度(Average Search Length,ASL):需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度。 1. 顺序查找 说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。 ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 142
精华内容 56
关键字:

数据结构折半查找平均查找长度

数据结构 订阅