有幸开始学习算法 再此以做记录。
首先,明确几个学习之前的问题:
1.什么是算法?
非形式地说,算法就是任何良定义的计算过程,该过程取某个值或值得集合作为输入并产生某个值或值的集合作为输出。--------------《算法导论》
2.为什么算法值得学习?
简单点说,上面定义中讲到 “良定义的计算过程”,就是效率。同时从自身来讲,锻炼你的思维能力。
3.算法解决哪种问题?
这一点,如果你从事互联网,计算机相关工作,相信你已有体会,不必赘述,后面详细的章节也会做举例说明。
大多数算法的共有特性:
1.候选解众多,但大多数不能解决你的问题。(最优解才可以)
2.实际应用中体现。(比如选择最短路线)
学习的目的:
做到能自行设计算法、证明其正确性和理解其效率。(现在计算机大都是多核,所以自然有多核算法)
相关知识引入:
1.数据结构
一种存储和组织数据的方式,方便访问和修改。(数据结构也是多样的,要找到最适合的那个)
2.NP完全性
后续章节详细讲解,感兴趣可以先去搜索“图灵停机问题”,相信会有收获。
后面会每星期最少一篇的更新本系列,感兴趣可以关注。
一起学习,一起进步。
相关文章: