如何学习数据结构?

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

    学好数据结构首先学好C语言指针,数据机构内在串联全靠指针作用,指针主要难在本身是带地址的变量,再加上指针的指针串联导致很多人误解,先要学会理解,要对计算机的内存结构有个大概了解,对一些常见的进制之间的转化以及字节对齐等有行程基本的认知。

    理解概念,建立抽象模型,比如简单的队列,先进先出模式,在设计数据模型的时候,就需要有一个对头和队尾的概念,数据需要从队尾插入队头出来,基本上三个属性就出来了,一个对头指针,一个队尾指针,一个结构体数值,常见的方法有删除清空队列,有插入队列操作,出队操作,创建初始队列操作等等,这样子抽象数据模型,形成自己的思维理解,然后再进行代码设计。


    需要变通实践,代码调试变通,数据结构的组合无穷变着写代码。算法的奥妙就是在于变换,放在数据结构也是这个样子,掌握基本的数据机构算法,在学好数据结构的前提下可以学习下一本经典的算法书《算法导论》这个是算法的经典书籍。

    学习数据机构不要想着有什么技巧或者方法,把自己调整到最佳的学习状态,方法自然就有了,不要给自己设置什么限制,设置底线只会让自己处在一个围墙之内,学习新东西就是突破自我的一个过程,不要在开始学习的时候给自己过大的压力。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-22
分享一下我个人的学习方法,我觉得算是比较简单的一套方法,对智商要求不高。
——资料来源:
(星星代表我的使用频率)
1.教材:
数据结构与算法分析 (豆瓣)
(经典之作,广为人知)
数据结构 (豆瓣)
(严蔚敏的,就是国内大学常用的那本。严谨,伪代码不错。)
大话数据结构 (豆瓣)
(语言比较通俗。比第一本简单易懂。btw,作者程杰老师在知乎上也相当活跃)
算法(第4版) (豆瓣)
(图超多。比第一本简单易懂。)
2.慕课:
浙江大学的:数据结构 - 网易云课堂
(真的很棒。借雷军的一句广告:我所有的向往。对于每个知识点的视频讲解,基本都涉及了:动画演示、写代码的思路、写代码的技巧、算法优化、算法复杂度分析等等)
清华大学的:数据结构-学堂在线慕课(MOOC)平台
(同样地非常非常非常好。比起浙大的数据结构,难度更深,内容更多。而且听完课以后,不仅知其然,也知其所以然。)
3.整个互联网!
——说明:
1.教材这么多本一起用!是的,一起用!对于某个知识点,多翻几本书看看,哪本书讲得好就看哪本。关于这些教材的优缺点,大家都应该很熟悉了。可能有人对严蔚敏的《数据结构》有疑虑,我个人认为这本书的优点是很严谨,而且代码也不错,就是书写得不友好,许多地方没有照顾读者智商(特别是我的智商)。所以,看得懂就好,看不懂就算了,教材反正还有嘛~
2.只靠书还是不够的,你需要搜索!比如KMP算法,特别难理解,但是你一搜索,可以发现很多人 在博客上分享他们的理解,讲解详尽,例子丰富,比书上好多了。
3.强烈推荐慕课。这两门慕课的老师的讲解都特别棒。首先是易于理解。对于算法概念上的分析讲授,由于是视频,在演示上比书本有先天优势,使得内容很好理解。接着是,视频能够比书本带来更大的信息量,提高了效率。最后是,看视频很明显比看书轻松有趣。
4.最后提醒,需要练习做题。只是看一遍书和视频,那是远远不够的。本人的题主要来自老师,如果你找不到题,请参考其它答主的回答,或者在我所说的那门慕课里找到做习题的网站。(不得不说,这个做题的网站也很棒。哎呀浙大好棒呀)最后,看完书和视频能懂,只算70%;能写代码能跑,才能算90%(2020更新:做题网址在此pintia.cn/problem-sets?)
5.推荐两个学习小技巧:(1).各个算法都有一些随着过程不断地改变的数组吧?把他们在纸上推导一遍(2).尝试一下手写代码(用word也行)(当然啦,不要求完全正确)。如果这样都能写出来,那肯定掌握了95%+。
*********补充一点儿感悟***********
按知识点来,一个一个知识点去攻破。
不必按部就班地,把某本书从第一章看到第十章,或者把某门课从从头到尾都看。不必这样。
对,按照知识点,一个一个来。
1.先知道是怎么回事。
2.然后使劲理解。
3.接着做题检验自己。
4.下一个知识点。
以知识点为目标,而不是以某本书或某门课为目标。
至于这个知识点怎么掌握,可以看书,可以看视频,可以看百科,可以搜高手的教学贴等等。
不仅仅是在这个问答里面,在别的很多地方相关的提问,很多答主都直接抛个书名。
要我说,一个书名是不够的,得列个书单才行,不仅如此,还有视频单,百科单,甚至仅就一个KMP算法就可以列个分析贴单了233333....
第2个回答  2020-06-02
最近在学习数据结构,虽然大学的时候,每个老师都说数据结构很重要。包括对我们找工作、代码的逻辑性都起决定性作用。但最后还是没有多少人学好了数据结构,包括我。所以代价就是,工作的时候又得抽时间重新来一遍。

入门学习数据结构时应主要是这两个过程:

选择一本合适的书。(初学者应从C语言实现开始学习)

编程实现和应用。(不断的刷题、看课程、同时做实验)

1.阅读书籍

一定要看书,一定要看书。数据结构和语言不一样,他不是锻炼我们编程能力,更多时候考察的是我们逻辑问题,也就是一种优化。

若果是纯小白的话:建议去图书馆借一本大学的比较薄一些的教材《数据结构》,然后建议尽量快的往后学习。如果一个知识点实在不懂,就可以跳过,学习到后面与前面知识点联系起来,说不定你会觉得很简单。
第3个回答  2020-06-22
常见数据结构:链表、树(如二叉树)。
2、常见算法思想:贪婪法、分治法、穷举法、动态规划,回溯法。
以上列出来的算是最基本的吧。就是说你刷题之前,要把这些过一遍再去刷题。如果你连这些最基本的都不知道的话,那么你再刷题的过程中,会很难受的,思路也会相对比较少。
总之,千万不要急,先把这些基本的过一遍,力求理解,再去刷题。这些基础的数据结构与算法,我是在大一第二学期学的,我没看视频,我是通过看书学的,那时候看的书是:
1、算法分析与分析基础:这本比较简单,推荐新手看。
2、数据结构与算法分析—-C语言描述:代码用C写的,推荐看。
3、挑战程序设计竞赛(第二版):也是很不错的一本书,推荐看。
具体可以看我的另外一篇文章,里面是介绍这几本书的:
算法与数据结构书籍与视频福利
说实话,我那一学期的时间几乎都花在数据结构与算法上,但刷的题很少,只是书本上的一些例题。所以当我把这些基本的过一遍之后,再去一些网站刷题依旧非常菜。
所以你们千万别指望以为自己把这些思想学完之后刷题会很牛,只有多刷题,只有多动手实践,你的灵敏度才会提高起来。
第4个回答  2020-06-22
在网上有这一类的课程,买上,跟着老师学习效果事半功倍,自己摸索事倍功半。

数据结构怎么学才能学好
数据结构怎么学才能学好如下:1.选择一本合适的书 一察毁分推荐普林斯顿的这本橙书:《算法 第四版》,是我认为最适合拿来入门的。在橙书中淡化了算法分析和证明,强调了实现和应用,并且通过一些有趣的习题对比显示了优秀的算法与数据结构在时间和空间上的高效。2.编程实现和应用 理解一个数据结构与编...

怎样学好数据结构与算法
1、注意化归转化思想学习。人们学习过程就是用掌握的知识去理解、解决未知知识。数学学习过程都是用旧知识引出和解决新问题,当新的知识掌握后再利用它去解决更新知识。初中知识是基础,如果能把新知识用旧知识解答,你就有了化归转化思想了。可见,学习就是不断地化归转化,不断地继承和发展更新旧知识。...

数据结构考研怎么学
在学习数据结构时,首先需要明确的是各种数据结构的特点与应用场景。数组、链表、栈、队列、哈希表、树、图等,每种数据结构都有其特定的用途。理解它们的定义、操作方法、空间复杂度和时间复杂度,是掌握数据结构的基础。实践是检验真理的唯一标准。通过编写代码实现数据结构的创建、插入、删除、查找等操作...

数据结构学习方法
3、认真观察、积极思考:不要做一个被动的信息接受者,要充分调动自己的积极性,紧跟老师讲课的思路,会取得的学习效果好。4、充分理解、掌握方法。5、抓住老师讲课的重点:有的同学在听课,往往忽视老师讲课的开头和结尾,同时还要注意老师反复强调的部分。6、做好课堂笔记:是强化记忆的最佳方法之一。笔...

如何学习数据结构
2、数据结构中的基本概念,你要一定清楚。平时要多看书,要在计算机上去调试程序,在调试的过程中,你才能发现自己的问题,然后及时解决。在上机调试的过程中,更要大胆尝试,注重运用。拿到一个题时,更要深入分析,尝试用不同的算法去设计。当然编程的时候,要注意格式。比如:变量一定要先定义使用。变...

数据结构考研怎么学
在学习过程中,建议首先掌握C语言的基本语法和常用数据类型,包括整型、字符型和浮点型等。通过编写简单的程序,加深对C语言的理解。例如,可以尝试编写程序实现基本的数学运算、字符串处理等功能。接下来,逐步学习数据结构的基础知识,如数组、链表、栈、队列等。这些数据结构是计算机科学中的基本概念,对于...

数据结构这么难怎么学
1 需要有一些编程语言基础,对函数、数组、结构体、指针等比较了解;2 先大概看一下一遍数据结构的书籍,先把书上的内容按难度分一下类,如:容易,比较难,很难,先把容易的学会,再学习难一些的,再学习更难的~3 在看书的时一定要自己编程,再上机调试,把书上结构体和算法用程序实现,一定要把...

数据结构与算法大学没学明白的来
数据结构大学生怎么学数据结构?五大脉络图 数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 相关术语 在数据结构与算法中,数据、数据对象、数据元素、数据项有一些同学搞不懂其中的关系。

专升本计算机中数据结构应该如何学习?
先把例题中的数据结构应用理解透彻,再找到相近的题目进行练习,最后找一些综合性的应用进行练习。循序渐进的展开练习。最后,在学习过程中,形成一个属于自己的知识体系,在“印象笔记”中单开一个“数据结构”的笔记本,记好笔记,多多复习。在学习过程中,遇到挫折,产生挫败感也不必慌张,这个是必然会...

「数据结构」的主要内容有哪些,难度如何,怎样系统地学习?
其次,是数据检索技术,包括排序表、链表、二叉树、红黑树、B树等。在处理大量数据时,高效的数据检索成为关键。通过掌握这些数据结构,编程者能有效地组织数据,提升数据处理的效率,减少不必要的计算。例如,使用二分查找,即使在庞大的数据集中查找一条特定信息,也能大幅度减少所需的查找次数。此外,...

相似回答