统治世界的十大算法.docVIP

  • 4
  • 0
  • 约2.69千字
  • 约 6页
  • 2023-08-20 发布于浙江
  • 举报
软件正在统治世界。而软件的核心则是算法。算法千千万万,又有哪些算法属于“皇冠上的珍珠”呢?Marcos Otero 给出了他的看法。 什么是算法? 通俗而言,算法是一个定义明确的计算过程,可以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。 —Thomas H. Cormen,Chales E. Leiserson,算法入门第三版 简而言之,算法就是可完成特定任务的一系列步骤,它应该具备三大特征: 1、有限 2、指令明确 3、有效 以下是 Marcos Otero 推荐的十大算法: 1、归并排序、快速排序及堆积排序 最好的排序算法跟需求密切相关,很难评判。但是从使用上说,这三种的使用频率更高。 归并排序由冯?诺依曼于 1945 年发明。这是一种基于比较的排序算法,采用分而治之的办法解决问题,其阶是 O(n^2)。 快速排序可采用原地分割方法,也可采用分而治之算法。这不是一种稳定的排序算法,但对于基于 RAM(内存)的数组排序来说非常有效。 堆排序采用优先级队列来减少数据中的搜索时间。该算法也是原地算法,并非稳定排序。 这些排序算法相对于以前的冒泡排序算法等有了巨大改进,实际上我们今天的数据挖掘、人工智能、链接分析及包括 web 在内的大多数计算工具都要感谢它们。 2、傅里叶变换与快速傅里叶变换 我们的整个数字世界都使用这两个简单但

文档评论(0)

1亿VIP精品文档

相关文档