Algorithm 改进的算法实现 我相信,在这里我们有算法实现(例如,一个特定排序算法的C++实现),它可能不如它们的效率那么高。

Algorithm 改进的算法实现 我相信,在这里我们有算法实现(例如,一个特定排序算法的C++实现),它可能不如它们的效率那么高。,algorithm,optimization,implementation,Algorithm,Optimization,Implementation,我想写一篇研究论文,讨论如何改进这种实现。这可以是任何编程语言,但是C、C++、Python、java或任何非专有语言都是理想的。 您是否知道任何您认为可能有改进空间的算法实现 已有大量论文描述了某些排序算法何时何地得到改进。例如:在某一点上线性搜索优于快速排序。(亵渎我知道,但这取决于顺序(如果之前知道的话)和小数据集。) 我的建议是,在你试图发明新东西之前,先研究一下这些论文。你的作品可能要么是你不正确,要么已经出版。你的工作很可能是新的 以我的经验: : ,例如 例如 特定于硬件:

我想写一篇研究论文,讨论如何改进这种实现。这可以是任何编程语言,但是C、C++、Python、java或任何非专有语言都是理想的。
您是否知道任何您认为可能有改进空间的算法实现

已有大量论文描述了某些排序算法何时何地得到改进。例如:在某一点上线性搜索优于快速排序。(亵渎我知道,但这取决于顺序(如果之前知道的话)和小数据集。)

我的建议是,在你试图发明新东西之前,先研究一下这些论文。你的作品可能要么是你不正确,要么已经出版。你的工作很可能是新的

以我的经验:

  • :
    • ,例如
    • 例如
  • 特定于硬件:
    • 英特尔奔腾4-
特别是在MATLAB中,您可以通过编写可通过访问的C/C++函数来加快速度

我意识到其中一些是专有的

Jon Bentley(在某处)举了一个例子,说明旅行商算法在保持相同的big-O签名的同时,性能提高了50倍

在一次演讲中,他谈到那些对结果嗤之以鼻的学者们,他们可能不会介意他们的薪水被类似的因素提高

我个人已经将一些程序优化了100倍,而没有改变它们的大O

在不改变big-O的情况下,优化系数约为40

您可以对任何尚未执行的程序执行此操作。越大越好


这有帮助吗?

只是想确认一下,您希望在不改变算法本身(或其主要“精神”)的情况下改进算法的实现,对吗?一般来说,基本算法(如排序算法)的库实现已经进行了高度优化,因为它们被频繁使用。您好,是的,我希望改进一个实现,而不是改进算法。我觉得改进算法太难了,但在某些实现中可能还有改进的余地。特别是对于新框架,而不是非常流行的算法或新算法,这可能是正确的。谢谢你,詹姆斯,是的,我同意你的看法。然而,我相信对于不太流行的算法、新算法和新库来说,这可能是不正确的。所以你想做一些软件工程,而不是计算机科学,一些可能有用但没有理论意义的事情。。。对不起,这为什么值得一篇研究论文呢?嗨,史蒂文,谢谢你抽出时间。然而,我并没有试图改进算法。我只是试图从效率的角度找到一个可能存在缺陷的实现。