【发布时间】:2010-06-02 22:10:48
【问题描述】:
还有其他几篇关于根据另一个向量 B 中的值对向量 A 进行排序的文章。大多数其他答案告诉创建一个结构或一个类来将这些值组合到一个对象中并使用 std::sort。
虽然我对此类解决方案的性能很好奇,因为我需要优化实现冒泡排序的代码来对这两个向量进行排序。我正在考虑使用vector<pair<int,int>> 并对其进行排序。
我正在开发一个 blob 跟踪应用程序(图像分析),我尝试将以前跟踪的 blob 与视频帧中新检测到的 blob 进行匹配,在其中我检查每个帧与几个以前跟踪的帧,当然还有我在之前的帧中发现的斑点。我以每秒 60 次的速度执行此操作(我的网络摄像头的速度)。
感谢任何有关优化此问题的建议。我正在尝试优化的代码可以在这里显示:
重要提示:我忘了提到向量的大小永远不会大于 5,而且其中大多数只有 3 个项目并且将是未排序的(也许我什至可以将其硬编码为 3 个项目?)
谢谢
【问题讨论】:
-
"优化实现冒泡排序的代码" ...为什么不将其优化为快速排序呢?
-
嘘,谢谢!我对解决方案没有偏见,但很好奇这样做的好方法是什么
-
或任何其他类型的排序,假设向量尚未排序
-
这么小的数据集要排序,看shell排序。
标签: c++ performance sorting vector std-pair