20172311-ASL测试 2018-1938872补充博客
20172311-ASL测试 2018-1938872补充博客
课程:《程序设计与数据结构》
班级: 1723
姓名: 赵晓海
学号: 20172311
实验教师:王志强老师
测试日期:2018年10月12日
必修/选修: 必修
测试内容
已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少?
(本题目2分,要求写出结题过程)
测试过程及结果

测试过程中遇到的问题和解决过程
问题1:什么是ASL
问题1解决方案:通过询问同学得知:

问题2:需对折半查找法进行了解
问题2解决方案:通过查阅相关资料找到了一个较好理解的折半查找方法的实现如下:
//查找一给定的值是否在指定的数组中,如果存在输出在数组中的下标,如果不存在则输出-1
public static int getIndex(int target, int[] array) {
if (array == null || array.length == 0)
return -1;
if (target < array[0] || target > array[array.length - 1])
return -1;
int left = 0;
int right = array.length - 1;
int mid = (left + right) / 2;
while (left <= right) {
if (target < array[mid])
right = mid - 1;
if (target > array[mid])
left = mid + 1;
if (target == array[mid])
return mid;
mid = (left + right) / 2;
}
return -1;
}
public static void main(String[] args) {
int num[] = { 2, 3, 4, 6, 10, 20, 31, 35, 42, 53, 60, 90 };
System.out.println(getIndex(7, num));
}
思考
这次实验的内容还是很有意义的,比较深入的学习了折半查找法的原理及实现!!
参考资料
20172311-ASL测试 2018-1938872补充博客的更多相关文章
- 2017-2018-1 20155232 《信息安全系统设计基础》第四周学习总结以及课上myod练习补充博客
2017-2018-1 20155232 <信息安全系统设计基础>第四周学习总结以及课上myod练习补充博客 课上myod练习 1 参考教材第十章内容 2 用Linux IO相关系统调用编 ...
- 20141127 测试使用Word2013书写博客(代码高亮+公式支持)。
PS :又经过几次测试,发现用于Word2010的高亮插件在Word2013上排版效果不是很好,慎用.不过公式编辑倒是挺方便的 测试使用Word2013书写博客. 大概一个月前,使用WindowL ...
- 2017-2018-1 20155305 《信息安全系统设计基础》第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客)
2017-2018-1 20155305 <信息安全系统设计基础>第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客) 课堂提交题目要求 编写MyOD.java 用java ...
- 潭州课堂25班:Ph201805201 django框架 第九课 模型补充 博客小案例 (课堂笔记)
聚合查询: 分组查询: annotate() 方法 例:查询某学院学生人数,(一对多查询) 以字典的形式输出 annotate(统计 ‘关联学生字段 出现的次,).字典形式(键,值) 例:查询每项课程 ...
- 20162303石亚鑫 第十二周hash补充博客
要求 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,65,(你的8位学号相加 ...
- 测试使用Word发布博客
Word发布地址:http://www.cnblogs.com/xwgli/services/metablogapi.aspx
- 2018.1.9 博客迁移至csdn
http://blog.csdn.net/liyuhui195134?ref=toolbar
- 测试使用markdonw写博客
# 欢迎使用 Cmd Markdown 编辑阅读器 ------ 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,**Cmd Markdown** 是我们给出的 ...
- Python 自动刷博客浏览量
哈哈,今天的话题有点那什么了哈.咱们应该秉承学习技术的角度来看,那么就开始今天的话题吧. 思路来源 今天很偶然的一个机会,听到别人在谈论现在的"刷量"行为,于是就激发了我的好奇心. ...
随机推荐
- ubuntu 安装linux 下vmVMware tools 步骤及问题解决
一. 菜单栏 “虚拟机” ——> “设置 ” 使用linux.so镜像文件 此文件在vmware workstation 的安装目录.并且打开CD/DVD的连接. 二.终端 ...
- Ubuntu修改桌面为Desktop
想用中文系统,却不想用中文文件夹,可以用以下方法: 先把home路径下的桌面文件夹修改为Desktop 然后在命令行输入 nano ~/.config/user-dirs.dirs 修改后ctrl - ...
- MySQL----MySQL数据库入门----第五章 多表操作
5.1 外键 比如说有两个数据表,分别是学生信息表student和年级表grade.在student表中有存储学生年级的字段gid(外键),在grade表也有存储学生年级的字段id(主键),stude ...
- vue-cli构建的vue项目中引入stylus文件
在写基于vue-cli的vue项目时,如果直接引入styl文件,会报错,需要安装stylus.stylus-loader依赖以及别名配置. 1.下载安装stylus.stylus-loader,推荐使 ...
- 关于Win10 环境下Quartus II 15.0器件列表无法下拉的解决方法
不知大家在Windows 10 64位系统环境下使用Quartus II 15.0在新建工程时遇到过这种问题没,在新建工程的过程是选择器件的列表无法下拉,只能看到一个器件型号,如图1所示. 图1 开始 ...
- CALL TRANSACTION
概要 SUBMITと違い.トランザクションコードで呼び出すのが特徴. アドオンからの伝票照会やバッチインプットによるSAPへのデータ登録/更新処理にも利用される. なお.呼び出された側から呼び出し元へ ...
- 20155215 2016-2017-2 《Java程序设计》第4周学习总结
20155215 2016-2017-2 <Java程序设计>第X周学习总结 教材学习内容总结 第六章 继承,避免多个类间重复定义共同行为.子类继承父类,再扩充(extends)其他行为. ...
- 20155320 《Java程序设计》实验三 敏捷开发与XP实践
20155320 <Java程序设计>实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 (一)研究一下Code菜单 具体内容: 在IDEA中使用工具(Code-> ...
- 微信小程序点击按钮,修改状态
WXML中: <view wx:if="{{orderstate}} = '待送检' " data-no="{{orderstate}}" bindtap ...
- 分块算法&BZOJ2002
题目传送门 第一次接触分块...... 分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况. 分块修改理论复杂度为O ...