【发布时间】:2017-01-14 13:48:16
【问题描述】:
我在这里找到了一个用 c++ 实现的算法 https://gist.github.com/andlima/1774060 但我不明白几行的目的以及它们是如何工作的,
- 我是否应该添加一个 if 语句,如果 n 低于一定数量,我们应该对数组进行排序并返回 v[k]?
- 在第 4 行中,为什么我们通过将变量增加 4 来创建变量?我知道我们必须将它除以 5 才能拥有一定数量的小数组
- 6 行中的“for 循环”负责什么?是否将主数组拆分为我们想要排序的较小数组,然后创建一个中位数数组?为什么有一个交换函数,为什么我们把它分成 if 和 else 条件?
- 为什么我们在之前调用相同的函数行之后删除中位数数组
- 第 25 行中的 for 循环和第 33 行中的 this 以及第 38 行中的交换的目的是什么?
如果能提供任何帮助,我将不胜感激。
【问题讨论】:
标签: c++ median-of-medians