本算法笔记采用Go
语言、JavaScript
语言同时描述,内部引用了一些专用函数,如Go的append()
,这样做屏蔽了很多底层数据元素的操作细节,但是快速实现了数据结构,适合解题与实际应用,不再是学院派风格。
源码中并未采取面向接口、继承等**来实现工具方法的复用,笔者认为不应该将变成语言的学习带入数据结构,这样能够有效降低学习成本。笔者的意愿是:学习者拿到每个数据结构,都可以做到信手拈来,直接使用,而不是还要查询其继承结构。
Go语法极简,读者即使不具备Go语言基础也能看懂代码,如果对Go、JavaScript语言有兴趣,也可以查看笔者的笔记进行详细学习:
为了能够详细了解底层操作信息,避免Go和JavaScrit带来细节上缺失的遗憾,笔者在 源码 目录也提供了 C
语言版本,严格按照学院派风格(如严蔚敏版)对数据结构、算法进行描述,适合学习考研。
- 第01章:概述
- 第02章:数组
- 第03章:线性表
- 第04章:栈与队列
- 第05章:串与广义表
- 第06章:树
- 第07章:图
- 第08章:查找与排序
- 第09章:复杂数据结构
- 第10章:算法设计**
- 第11章:面试题
入门:
基础
- 《算法》第4版:经典书籍,最好的算法书籍之一,Java编写
- 《数据结构》(邓俊辉):数据结构的集大成者,深入浅出
- 《趣学算法》:覆盖了市面大部分算法
提升
- 《算法设计与分析基础》
- 《数据结构与算法分析》-C语言描述:数据结构与算法进阶的巨匠,也拥有Java版本:传送门
- 《算法新解》:大量复杂数据结构的深入,难度较大
**
成神
- 《算法导论》:算法领域的代表作
- 《计算机程序设计艺术》:恢弘巨作,算法领域的里程碑
刷题
- 《程序员代码面试指南》:面试指南之一
- 《剑指offer》:面试指南之一
- 《编程珠玑》:为算法提供了精辟的解题思路,是算法**学习的瑰宝
- 《编程之美》:微软面试指南集合
一些网站
OverNote全系列地址:https://github.com/overnote
欢迎关注up主:https://github.com/ruyuejun
OverNote分类: