您的位置:首页 > 其它

第14周 “知原理”检验题目2

2015-11-30 17:07 190 查看
/*
*Copyright(c) 2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作    者:徐群壮
*完成日期:2015.11.30
*版 本 号:v1.0
*
*问题描述:现给出一个分块有序的数据表,每块中元素的个数s=8,其中的数据有:
22,4,23,11,20,2,15,13,30,45,26,34,29,35,26,36,55,98,56,74,61,90,
80,96,127,158,116,114,128,113,115,102,184,211,243,188,187,218,195,
210,279,307,492,452,408,361,421,399,856,523,704,703,697,535,534,739
(1)构造索引表,并画出索引存储结构;
(2)请描述查找61的过程,需要多少次比较;
(3)请描述查找739的过程,需要多少次比较;
(4)请描述查找200的过程,经过多少次比较后才能确定找不到。
*/
解:
索引表如下.总共56个元素。每块元素s=8,所以共分为7块。Key表示每一块中最大的元素。link代表对应块的起始下标
(1)



(2)

①我们将61与索引表中的Key比较。找出第一个比它大的Key(61存在的话,因为每一个块的最大元素放在key中,所以必定在这一块中),我们可以找到第3个key为98的块。

②然后找到对应块的起始下标16。然后顺应查找其中的8个成员。在该块的第5个位置找到。

③所以需要3+5=8次才能找到。

以此方法类推,可得知:

(3)

15次

(4)

13次,但是依然没有找到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: