数据结构?

0.279字数 838阅读 538

本文内容:
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版)

推荐阅读更多精彩内容

  • pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 ...
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
  • 栈 1. 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被...
  • 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...
  • 课程介绍 先修课:概率统计,程序设计实习,集合论与图论 后续课:算法分析与设计,编译原理,操作系统,数据库概论,人...