首页 > 编程语言 > 详细

算法设计与分析第二章作业

时间:2018-10-14 12:25:17      阅读:140      评论:0      收藏:0      [点我收藏+]

二分法思想可以用于查找和排序

用于查找时要求所查找的数组有序,其基本思想是将元素大致分为两半,取中间元素与目标数据进行比较,若目标数据大于中间元素则和此数组的后半段进行比较,反之则与数组的前半段进行比较,可以看出每进行一次比较,待比较数据减少一半,其最坏时间复杂度为O(log n)

例:从{5,15,28,33,39,40,58,67,70,88}查找28

技术分享图片

 

 

用于排序时用折半查找法查找当前已经排好序的序列中的插入位置

折半插入排序 R[low...high]  

1、设待排记录为R[low...high] ,R[low]是一个有序序列; 

2、循环high-low次,每次使用折半查找法,查找R[i]在已经排好序R[low..i-1]中的插入位置,然后将R[i]插入R[low..i-1]的相应位置,直到将R[high-low+1]插入表长为high-low的有序序列,最后得到表长为high-low+1的有序序列。

其时间复杂度为O(n2)

 

 

结对编程情况汇报:和同伴一起做第二章实践题,相互间找出代码中考虑不足之处,这些错误平常自己练习时很少遇到或根本没有想到,通过这种方式加深对一些错误的记忆,提高了学习效率。

 

算法设计与分析第二章作业

原文:https://www.cnblogs.com/Li-Peiting/p/9785775.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!