第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次,但是依然没有找到。
相关文章推荐
- 第14周项目3-二叉排序树
- 输入框实现高度自适应的几种解决方案
- 教程分享:如何给Android应用更换皮肤
- ionic代码压缩与代码混淆
- 第十四周项目(1):验证算法1
- 模糊语意变数、规则和模糊运算--AForge.NET框架的使用(二)
- [转]JSONObject与JSONArray的使用
- 第十四周知原理--3
- 读 《周爱民--大道之简》 笔记
- 第13周项目3-Dijkstra算法的验证
- 第14周项目2——二叉树排序树中查找的路径
- 文章标题
- 第13周项目4平衡二叉树
- Java抽象类和接口概念和特点理解
- 51nod 1105 第K大的数 (二分答案)
- 【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference
- Android listview加载列表时,无数据,显示默认页
- Android Emoji表情方案
- 模糊集合和隶属度函数--AForge.NET框架的使用(一)
- android 源码角度全方位理解filter