哪些算法和数据结构是程序员需要掌握的?

编码本质

1

作为一名程序员,大家有没有想过:编码最本质的知识是什么?算法和数据结构或许是,至少很多人这么认为。很多程序员也意识到了算法和数据结构的重要性,下定决心花力气学习它们,于是寻找书籍和视频教程,却发现浩如烟海。好不容易精选了一本后,被书的厚度所折服,看了几页最后不了了之。

精选资料

2

那么,有没有这样的参考资料呢?第一,足够精简;第二,阐述算法和数据结构最重要的知识;第三,在今天这些知识仍被不断运用;第四,足够权威。

一直以来,想寻找这样的资料,很幸运,这几天终于找到一个不错的,出自普林斯顿大学计算机科学与技术系,讲述了computer science 入门级的算法和数据结构,完全吻合了以上四个要求期望:短,精,实用,权威。

资料提纲

3

浏览了这门短、精、实用的算法和数据结构的入门资料,它一共包括5小节和28个高质量的小算法:

Performance性能. 列举衡量我们所编写程序的性能和资源消耗的科学评价指标和理论。

Sorting and Searching排序和搜索. 归并排序和二叉搜索,还有几个它们发挥高效之处的应用。

Stacks and Queues栈和队列. 介绍两个紧密相关的数据结构以及它们如何操作海量数据。

Symbol Tables符号表. 考虑了典型的被称为符号表的数据结构,它用于存储信息。它的两个高效实现:hash tables (哈希表) 和 binary serach trees (二叉搜索树).

Small World Phenomenon小世界现象. 这是一个案列,研究了小世界现象(我们都被熟识的一簇人所连接)的原理。

28个小算法题的代码是java版,接下来,我会编写python版的。对于那些没有时间刷 Leetcode 的朋友,研究透这28个,或许对你的算法和数据结构提升有一定帮助。

欢迎关注

4

资料是英文的,接下来会边学边总结,以笔记地形式推送给大家,大家学习同时做了笔记的话,欢迎发给我,让更多的人看到你的所学。

公号后台回复:alg,获取下载链接(温馨提示:因公号内外部链接不能直接被点,故为之)

更多好文:

斯坦福大学的cs224课程18个完整PPT整理

Python与机器学习算法频道

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180628G0WEFV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券