选择排序与插入排序

时间:2015-11-21 00:09:36

标签: insertion-sort selection-sort

我只是想知道,选择排序的速度会根据数据的类型而改变吗?那么速度会变化,这取决于它是单词还是数字?为什么或者为什么不?。此外,插入速度的类型是否会根据数据的类型而改变?

我个人认为他们没有改变排序的速度,但我不是百分百肯定。

1 个答案:

答案 0 :(得分:0)

基于比较的排序算法需要知道:

  • 如何判断元素a是否为"更小"比元素b还是没有
  • 如何交换数组中的两个元素,
    即。将一个元素移动到另一个元素的位置,反之亦然。

除了这两件事之外,算法的任何部分都不依赖于数据元素的实际类型和/或内容。唯一可能的速度差异在于这部分。

是的,比较例如。字符串通常比比较整数慢,字符串越长,差异就越明显。这对于交换是有效的,尽管有一些C ++的东西可以解决这个问题(取决于数据类型的实现,交换可以通过复制所有内容(慢速)或仅通过交换例如指针(更快)来完成)