与算法成为好朋友的七个要点

一、算法中解决问题的步骤是明确且有限的

二、计算机不是靠直觉而是机械地解决问题

// common-divisor.js 最大公约数 (辗转相除法或欧几里得算法)
let a = 12;
let b = 42;
while(a !== b){
  if (a < b) {
    b = b - a
  } else if (a > b) {
    a = a - b
  }
}
console.log('the common divisor is ' + a)

三、了解并应用典型算法

名称 用途
辗转相除法 求最大公约数
埃拉托斯特尼筛法 判定素数
顺序查找 检索数据
二分查找 检索数据
哈希查找 检索数据
冒泡排序 检索数据
快速排序 检索数据

四、利用计算机的处理速度

五、使用编程技巧提升程序执行速度

例如:“哨兵”

六、找出数字间的规律

七、先在纸上考虑算法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是对论文《The Z1: Architecture and Algorithms of Konrad Zuse...
    逸之阅读 4,443评论 15 12
  • 寻找一种易于理解的一致性算法(扩展版) 摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos...
    枝叶君阅读 2,678评论 0 15
  • 邓超,李晨,祖蓝三人,被村民绑着送到了地下墓地,一路上他们看到了很多同他们一样,被绑到这里来的人。李晨试了试动用内...
    瓶小爷阅读 187评论 0 0
  • 我不是随便的花朵 一 我不是随便的花朵 请不要将我随手采摘,随意丢弃 我不是随便的花朵 请不要将我任意把玩,...
    耀坤Rosy阅读 322评论 2 6
  • 日本战国后期发生了一场规模宏大的关原合战,这次合战名为丰臣家“武功派”和“文治派”的争斗,实际上关系着丰臣家...
    风原山鹰阅读 552评论 7 3