当>=用于元素比较时,插入排序比>慢,为什么?
Insertion sort is slower when >= is used for element comparison than >, why?
我测试了一些排序算法并测量了它们的执行时间,发现了一些非常奇怪的东西,于是提出了一个问题,>=比>快吗?
CPU体系结构特定。无论如何,你怎么能在现代处理器上测量它呢?
然而,如果键不是真正的int(也就是说,您将其匿名为一),并且<=没有特定的重载运算符比<=将比<糟糕得多;。
在您的特定算法中,在<=并且<会破坏你的算法,所以这里就是这样。
不,在任何现代硬件上,>和>=之间没有性能差异,任何时间增量都是人为的,纯属巧合。你确定代码片段真的做了同样的事情吗?您的编译器设置是否设置为最大限度地优化(在调试模式下计时代码是无用的)?
顺便说一下,您可能不应该在C++中以"t"开头您的类型名称。这不是Pascal^^
相关文章:
- 这是插入排序的正确实现吗?
- 使用列表 STL 递归进行插入排序
- 列表 iter 不取消引用 使用列表进行插入排序
- 如何使插入排序更快?
- 插入排序的最小交换
- 双链表C++上的插入排序
- 如何在插入排序中使用 replace() 使语句变得不必要
- C++插入排序错误功能不起作用
- 如何在不通过插入排序更改原始矢量的情况下对 2D 矢量进行排序
- 插入排序打印错误的输出
- 从矢量末尾开始的插入排序
- 插入排序:我做错了什么?
- 插入排序的向量<unique_ptr<对时避免堆分配<>>>
- 获取有趣的输出以进行插入排序
- 插入排序算法在放入函数时的行为不同
- 插入排序的Valgrind Invalid读取尺寸8的尺寸
- 插入排序与插入/擦除?(所以我需要对一个向量进行排序,而不是手工做事,而是使用插入和擦除
- 堆排序和插入排序
- 计数Heapsort和插入排序中的复制和比较数
- 使用第二个数组C 插入排序算法