S.D*_*le1 2 algorithm brute-force selection-sort
我发现选择排序使用蛮力策略。但是,我认为它使用了贪婪策略。
为什么我认为它使用 Greedy:它在外循环从 0 到 n-1,从 i+1 到 n-1。这真是太天真了。它在每次迭代中选择一个中的最小元素——它在本地选择最好的。一切都像贪婪,但事实并非如此。
你能解释一下为什么这不是我的想法吗?我在 Internet 上没有找到有关此问题的信息。
选择排序确实可以被描述为一种贪心算法,因为它:
碰巧的是,同样的描述也适用于大多数其他排序算法——唯一真正的区别是子问题的选择。例如:
事实上,在我的脑海里,我想不出任何实用的排序算法在这个意义上不会贪婪。(Bogosort不是,但很难被称为实用。)此外,将这些排序算法表述为这样的贪婪优化问题相当模糊了在比较排序算法时在实践中实际重要的细节。
因此,我想说,将选择排序或任何其他排序算法的特征描述为贪婪在技术上是有效的,但实际上毫无用处,因为这种分类没有提供真正有用的信息。