算法第二章上机实验报告
Posted homerlam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法第二章上机实验报告相关的知识,希望对你有一定的参考价值。
- 实践题目
- 问题描述
- 算法描述
-
算法时间及空间复杂度分析(要有分析过程)
-
心得体会(对本次实践收获及疑惑进行总结)
1,实践题目:
7-1 二分查找 (20 分)
输入n值(1<=n<=1000)、n 个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。
输入格式:
输入共三行: 第一行是n值; 第二行是n 个整数; 第三行是x值。
输出格式:
输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。
输入样例:
4
1 2 3 4
1
输出样例:
0
2
2,问题描述:
要求设置一个数组长度为n的数组,输入数组,对它进行排序,用二分查找某一数值x,查找成功则输出其所在位置及比较次数,否则输出-1及比较次数;
n的范围、输入格式及输出格式都有要求:0<=n<=1000;第一行输入要先输入的数值是n、第二行是输入整个数组中的n 个数值,用空格隔开、第三行是要查询的数值x;查找成功则输出其所在位置及比较次数,否则输出-1及比较次数,用空格隔开或换行都行。
3.算法描述:
首先定义了两个变量L和R代表数组的前标和后标,每进行一次二分查找就会改变一次L或者R,直到最后L=R便查找结束。
4,算法时间及空间复杂度分析(要有分析过程):
数组长度为n,每进行一次长度就缩小一半,最坏情况下O(n)=logn;由于辅助空间是常数级别的所以:空间复杂度是O(1);
5,心得体会(对本次实践收获及疑惑进行总结):
这次二分搜索法实际上并不困难,但是自己选用的算法比较简单,实际上也有多种实现的算法,如递归或非递归,下课后我也实践了一些别的算法,感受到了算法的魅力。但是同时我发现了自己对于分析时间空间复杂度的经验不足,一开始无法自主有效的分析,最后还是查找了百度上的回答才有所领悟,证明自己还有很多的不足处需要改进。
以上是关于算法第二章上机实验报告的主要内容,如果未能解决你的问题,请参考以下文章