文章分类 -  排序和查找

摘要:问题1描述 给一个已经排序的数组,其中有N个互不相同的元素。要求使用最小的比较次数找出其中的一个元素。(你认为二分查找在排序数组里找一个元素是最优的算法的吗?) 不需要太多的理论,这是一个典型的二分查找算法。先看下面的代码: 理论上,我们最多需要 logN+1 次比较。仔细观察,我们在每次迭代中使用 阅读全文
posted @ 2016-08-25 08:31 琴影 阅读(241) 评论(0) 推荐(0) 编辑
摘要:归并排序是一个分治算法。归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。merg() 函数是用来合并两个已有序的数组. 是整个算法的关键。看下面的描述对mergeSort函数的描述: 时间复杂度:O( 阅读全文
posted @ 2016-08-20 21:48 琴影 阅读(127) 评论(0) 推荐(0) 编辑