此笔记,面向初学者,基于C语言,从零实现各种常见数据结构。其中,部分封装为库,且经过内存检测。
在线阅读:https://lookcos.cn/archives/1120.html
数据结构的重要性不必多说,大多数人初次学习数据结构应该是在大学期间。很多高校学完 C 语言就立刻转向了数据结构学习,在很多同学对 C 语言语法,比如对结构体、指针等理解尚浅和某些教材不说人话的情况下学习。所以,原本很简单的内容,可能会难以理解消化,甚至教材会将其进行复杂化描述。为了巩固自己学习,同时与大家交流,我一边学习一边记录。
- 复杂的知识,简单的讲解。这挺难的,但我尽量。
- 原创配图,帮助读者理解实现细节。
- 循序渐进,通过对某种数据结构优缺点的分析来演进出新的数据结构。
- 尽量参考经典项目源码进行数据结构设计与实现。
- 提供切实可行的纯C语言描述的源码。
本书不建议没有任何C语言编程经验的读者阅读,其目标读者包含以下几部分人群:
- 想要进一步进阶或者学习算法的同学。
- 想打好基础的计算机及其相关专业的同学。
- 想要学习《数据结构与算法》这门课的在校生。
- 阮一峰. C语言教程. https://wangdoc.com/clang/intro.html.
- antirez. Redis3.2.9. https://github.com/redis/redis/releases/tag/3.2.9
- antirez. Redis6.0.0. https://github.com/redis/redis/releases/tag/6.0.0
- 黄健宏.《Redis设计与实现》. http://redisbook.com/
- 黄建宏.带有详细注释的Redis3.0源码. https://github.com/huangz1990/redis-3.0-annotated
后面还有挺多要更新的,跳表、红黑树等。
作者目前就读于某本科大三,有一年半一线互联网小厂实习经验。主要研究全栈及网络爬虫开发,对包括但不与限于基础数据结构与算法、socket编程、安卓逆向、Python Web、前端开发等技术感兴趣。
使用最多的语言:C、Python、JavaScript
正在学习的语言:Golang
获star数最多的项目使用的语言:Java
Austin <lookcos at gmail dot com>