如何学好数据结构

很多计算机专业的同学对于大学2年级开设的数据结构课程很是头痛.
看见大家总在谈论数据结构重要性,可使自己学习却总也找不到合适的方法.
下面我和大家分享一下我过去一年多以来学习和应用数据结构方面一些经验.
内容都是来自作者本人的一些经历和体验,希望对于大家学习数据结构有引导作用。

1 什么是数据结构
数据结构从文字上面来看,为数据和结构两部分。这样就很容易联系到数据结构的本质是一种对于数据结构花的知识。补充一个知识点,数据结构本质和离散数学有很密切的关系。离散数学是处理的是离散(非连续的)的数据,站在数据结构的观点上来看,也可以理解是一种非连续数据的结构。

2 数据结构和程序设计语言
数据结构和程序设计语言本身没有任何联系,唯一有的关系就实用程序语言去描述数据结构。
因为数据结构是一种抽象数据,通过程序设计语言可以将在计算机中进行实现。今天大学里数据结构课程常用来描述数据结构的语言有C程序设计语言,C++程序设计语言和JAVA程序设计语言. 而对于喜欢其他语言的同学完全可以自己通过学习数据结构后用自己熟悉的程序设计语言去完成程序化的描述.
我自己过去很喜欢C#程序设计语言,自己用C#程序设计对于一些数据结构进行了实现.
大家可以通过访问CSTC我的专栏看到两篇C#描述的数据结构
http://www.cstc.net.cn/?item=member&id=100500
3 数据结构学习的技巧
3.1 学习数据结构的概念后对于抽象数据类型的设计参考C++ STL标准库中容器的设计.这样对于无论是数据结构的学习还有程序设计接口能力上都会有很大的提高.
3.2 对于数据结构课程中很多时候都不太重视的顺序(数组)做存储的数据结构,希望大家还是要多留意这快的知识.对于有些场合需要考虑时间换空间的情况下需要考虑顺序存储结构.
3.3??数据结构学习一定要自己独立完成代码实现,虽然有时候你理解内容了,但是实现上面还是会愈要很多困难的,解决这些困难会帮助你提高程序设计的能力的.

推荐一本习题集
C++描述的数据结构的习题集(英文版)
http://www.rjjd.com/bbs/read.php?tid=3468&page=1&fpage=1



数据结构是计算机专业最重要最基础的一门课,对于有过编程经验的人,结合自己的编程体会去悟它的思想;对于初学者,捡一种自己最熟悉的语言去分析它总之千万不要陷在语言的细节上要高屋建瓴的去领会数据结构的思想。而且我觉得随着编程经历的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。奉劝孔孔不要灰心,对于实在弄不懂的东东,就先记住,应付过考试再说。
http://www.programfan.com/club/old_showbbs.asp?id=26067&page=last

你可能感兴趣的:(数据结构,语言,编程,c#,存储,java)