如何学习数据结构?

要先学习C或C++编程语言,因为数据结构是需要编程实现的。

第1个回答  2020-06-22
千万不要急,先把这些基本的过一遍,力求理解,再去刷题。这些基础的数据结构与算法,我是通过看书学的。那时候看的书是:
算法分析与分析基础:这本比较简单,推荐新手看。
数据结构与算法分析—-C语言描述:代码用C写的,推荐看。
挑战程序设计竞赛(第二版):也是很不错的一本书,推荐看。
说实话,我那一段时间几乎都花在数据结构与算法上,但刷的题很少,只是书本上的一些例题。所以当我把这些基本的过一遍之后,再去一些网站刷题依旧非常菜。所以千万别指望以为自己把这些思想学完之后刷题会很牛,只有多刷题,只有多动手实践,你的灵敏度才会提高起来。
第2个回答  2020-06-22
1 什么是数据结构
数据结构从文字上面来看,为数据和结构两部分。这样就很容易联系到数据结构的本质是一种对于数据结构花的知识。补充一个知识点,数据结构本质和离散数学有很密切的关系。离散数学是处理的是离散(非连续的)的数据,站在数据结构的观点上来看,也可以理解是一种非连续数据的结构。
2 数据结构和程序设计语言
数据结构和程序设计语言本身没有任何联系,唯一有的关系就实用程序语言去描述数据结构。
因为数据结构是一种抽象数据,通过程序设计语言可以将在计算机中进行实现。今天大学里数据结构课程常用来描述数据结构的语言有C程序设计语言,C++程序设计语言和JAVA程序设计语言. 而对于喜欢其他语言的同学完全可以自己通过学习数据结构后用自己熟悉的程序设计语言去完成程序化的描述.
我自己过去很喜欢C#程序设计语言,自己用C#程序设计对于一些数据结构进行了实现.
大家可以通过访问CSTC我的专栏看到两篇C#描述的数据结构
3 数据结构学习的技巧
3.1 学习数据结构的概念后对于抽象数据类型的设计参考C++ STL标准库中容器的设计.这样对于无论是数据结构的学习还有程序设计接口能力上都会有很大的提高.
3.2 对于数据结构课程中很多时候都不太重视的顺序(数组)做存储的数据结构,希望大家还是要多留意这快的知识.对于有些场合需要考虑时间换空间的情况下需要考虑顺序存储结构.
3.3数据结构学习一定要自己独立完成代码实现,虽然有时候你理解内容了,但是实现上面还是会愈要很多困难的,解决这些困难会帮助你提高程序设计的能力的.
第3个回答  2020-06-22
老师怎么教你就怎么学呗。