zoukankan      html  css  js  c++  java
  • 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));
    }
    

    思考

    这次实验的内容还是很有意义的,比较深入的学习了折半查找法的原理及实现!!

    参考资料

  • 相关阅读:
    面向对象编程思想-单例模式
    Bootstrap(四):CSS--表格
    Bootstrap(三):CSS--代码
    Git 学习第三天(一)
    Git 学习第四天
    Git 学习第二天(三)
    Git 学习第三天(二)
    Git 学习第二天(一)
    GIT 学习第二天 (二)
    Git 学习第一天
  • 原文地址:https://www.cnblogs.com/zhaoxiaohai/p/9781286.html
Copyright © 2011-2022 走看看