本文内容:
1、什么是数据结构?
2、为什么要学习数据结构?
3、数据结构学习 我的文集列表.
看看大家怎么讲?
Wiki:Data structure
百度百科:数据结构
知乎:学习数据结构有什么用?
1、什么是数据结构?
数据结构与具体程序设计无关,与具体的平台也无关
数据结构:在计算机领域,是研究如何在计算机中组织数据的方法。
补充:数据,在计算机领域,指代数值、字符等内容,对应整型、字符等基础数据类型。
数据结构可以实现一种或多种抽象数据类型,而抽象数据类型(Abstract Data Type [ADT])就是一种数学的抽象,一些操作的集合【插入、删除等操作】,我们常说的链表、栈、队列等就是抽象数据类型。
补充:当然像 C 语言中的结构体、联合体、数组,或者 C++/Jave/Objective-C/Swift 等设计语言中的 Class [类] 都是数据结构。
2、为什么要学习数据结构?
知识没有用?
不是因为知识没有用,而是因为你没有使用知识,所以是你没用。 — 一位清华大学的语文老师【因为时间太久,那个视频我已经找不到了】
1、训练自己组织具体数据的方法,来解决程序设计中具体数据操作的问题;
2、建立一种在程序设计过程中,时时关注与思考资源空间、操作效率、数据组织的思维;
3、为实际问题,写出更小更高效更适合的程序;
4、应该还没有列完!!!
3、数据结构学习之我的文集列表.
工程代码 Github: Data_Structures_C_Implemention
基础:
第一篇:《数据结构:链表》
第二篇:《数据结构:栈与队列》
第三篇:《数据结构:集合》
第四篇:《数据结构:哈希表 [散列表]》 (进行中…)
第五篇:《数据结构:树、二叉(搜索)树、AVL 树》 (未写)
第六篇:《数据结构:堆与优先队列》 (未写)
第七篇:《数据结构:图》 (未写)
第八篇:《数据结构:B-树》 (未写)
第九篇:《数据结构:伸展树》 (未写)
高级:
第十篇:《数据结构:红黑树、AA-树》 (未写)
第十一篇:《数据结构:斐波那契堆》 (未写)
第十二篇:《数据结构:树堆(Treap 树)、k-d 树(k-维树)》 (未写)
第十三篇:《数据结构:线段树 (Van Emde Boas Tree)》 (未写)
第十四篇:《数据结构:不相交集》 (未写)
第十五篇:《数据结构:配对堆》 (未写)
参考书籍:
1、《算法精解_C语言描述(中文版)》
2、《数据结构与算法分析 — C语言描述》
3、《算法导论》(第3版)