美文网首页
最小的次数找中位数&排序

最小的次数找中位数&排序

作者: 唐僧取经 | 来源:发表于2019-06-25 10:03 被阅读0次

题目

试设计比较策略:用 6 次比较在 5 个元素中找到中位数;用 7 次比较完成 5 个元素的排序。

解析思路:

a1 a2 a3 a4 a5

6次比较寻找中位数

  • 第一步:比较 a1,a2 得出二者大小顺序 a1 < a2
  • 第二步:比较 a3,a4 得出二者大小顺序 a3 < a4
  • 第三步,第四步:a5 与a3,a4进行比较,得出 a3<a4<a5
  • 第五步,第六步:a2分别跟a3,a4进行比较,得出中位数

7次比较排序5个元素

  • 第一步:比较 a1,a2 得出二者大小顺序 a1 < a2
  • 第二步:比较 a3,a4 得出二者大小顺序 a3 < a4
  • 第三步:两组中小的相比 得出假设结果:a1<a3<a4,a1<a2
  • 第四步,第五步:a5向长链中的中间值做比较,进行两次比较,得出结果:a1<a3<a4<a5 ,a1<a2
  • 第六步,第七步,拿a2 a4比较,然后再将a2跟 a3或者a5比较

相关文章

  • 最小的次数找中位数&排序

    题目 试设计比较策略:用 6 次比较在 5 个元素中找到中位数;用 7 次比较完成 5 个元素的排序。 解析思路:...

  • #4 Median of Two Sorted Arrays

    在两个有序数组中寻找中位数,思想时归并排序的思想,将两个数组归并排序到一个数组中,提前算出中位数的个数减少循环次数

  • 排序算法-鸡尾酒排序

    鸡尾酒排序是冒泡排序的一种改进算法,效果稍好(可能减少交换次数)。先从头比到尾找到最大(或最小),然后从尾比到头找...

  • numpy -- 利用数组进行数据处理 排序 去重以及其它集合运

    利用数组进行数据处理 排序 二维数组排序 找中位数 唯一化 传统做法 unique的方法 成员资格判断

  • 排序

    归并排序,N个有序数组的归并排序 无序数组查找中位数 1.1 将前(n+1)/2个元素调整为一个最小堆; 1.2 ...

  • js排序

    冒泡排序 排序思路:遍历数组,每次遍历就将最大(或最小)值推至最前。越往后遍历查询次数越少

  • 前端-冒泡排序 (交换排序)

    冒泡排序 (交换排序)稳定性: 稳定时间复杂度: O(n^2)每一次排序, 将最小的值往前移动到最终的位置比较次数...

  • Lintcode-中位数

    问题描述: 给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序...

  • [剑指offer]刷题笔记

    连续子数组的最大和(常见✔) 最小的k个数 数组中出现次数超过一半的数字 数据流中的中位数(难♧) 连续子数组的最...

  • 算法思想

    1 插入排序 (把第一个当成有序其他当成无需) 希尔排序 2.冒泡排序 快速排序 3. 选择排序(一直找最小)

网友评论

      本文标题:最小的次数找中位数&排序

      本文链接:https://www.haomeiwen.com/subject/jknzqctx.html