本算法笔记采用 C
语言进行严谨描述,并提供Go
、JavaScript
等符合实际的快捷简便版本,这是为了符合考研、工作双重需要,在基础原理部分使用严谨的学院派风格的C
语言描述,再附带上工作中常用的 Go
语言、JavaScript
等语言来进行简化(未来会补全C++
Java
、Python
版本)。
源码 code 目录使用贴士:
code-c
: 本文件夹中的代码往往有两份,1 份文件后缀为.c
,是纯 C 语言实现,而以.cpp
为文件后缀的同名文件,则是以 C 语言风格书写的 C++文件,这是为了额外对应国内常见大学教材、考研视频中的写法code-c++
使用 C++环境(以.cpp
为文件后缀),使用纯正的 C++面向对象方式书写
源码中并未采取面向接口、继承等思想来实现工具方法的复用,笔者认为不应该将编程语言的学习成本带入数据结构,笔者的意愿是:学习者拿到每个数据结构,都可以做到信手使用,而不是还要反复查询其继承、实现结构。
学习的推荐:
- 如果完全零基础,笔者建议通过视频来学习,B 站上拥有大量零基础数据结构教学视频,搜索即可。
- 拥有一点基础后,笔者推荐考研使用《算法 4》,后续通过 LeetCode、《剑指 Offer》大量做题就 OK 了。
- 切记笔者总结编程学习经验:阅万卷,不若作一页之书;操千道,求解方不由分说。
- :入门书籍
- 《算法》第 4 版:经典书籍,最好的算法书籍之一,Java 编写
- 《算法详解》:共 2 卷,弥补《算法 4》分治算法缺失,点击进入卷 2 地址
- 《数据结构与算法分析》-C 语言描述:数据结构与算法进阶的巨匠,也拥有 Java 版本:传送门
- 《算法新解》:大量复杂数据结构的深入,难度较大
其他书籍:
《趣学数据结构》:适合零基础入门
《大话数据结构》:适合零基础入门
《趣学算法》:适合零基础入门
《算法图解》:适合零基础入门
《漫画算法:小灰的算法之旅》:适合零基础入门
《啊哈!算法》:适合零基础入门
《我的第一本算法书》:适合零基础入门
《算法精解 C 语言描述》:源码完整,适合参考
- 《程序员面试金典》(第 6 版):面试指南之一
- 《程序员代码面试指南》:面试指南之一
- 《剑指 offer》:面试指南之一
- 《编程珠玑》:为算法提供了精辟的解题思路,是算法思想学习的瑰宝
- 《编程之美》:微软面试指南集合
- 《算法笔记》:考研类刷题书籍
- 《算法心得:高效算法的奥秘(原书第 2 版)》
- 《算法导论》:算法领域的代表作
- 《计算机程序设计艺术》:恢弘巨作,算法领域的里程碑
OverNote全系列地址:https://github.com/overnote
欢迎关注 up 主:https://github.com/ruyuejun
OverNote 分类: