如何学习数据结构?
发布网友
发布时间:2022-04-28 21:46
我来回答
共15个回答
热心网友
时间:2022-04-07 11:05
学好数据结构首先学好C语言指针,数据机构内在串联全靠指针作用,指针主要难在本身是带地址的变量,再加上指针的指针串联导致很多人误解,先要学会理解,要对计算机的内存结构有个大概了解,对一些常见的进制之间的转化以及字节对齐等有行程基本的认知。
理解概念,建立抽象模型,比如简单的队列,先进先出模式,在设计数据模型的时候,就需要有一个对头和队尾的概念,数据需要从队尾插入队头出来,基本上三个属性就出来了,一个对头指针,一个队尾指针,一个结构体数值,常见的方法有删除清空队列,有插入队列操作,出队操作,创建初始队列操作等等,这样子抽象数据模型,形成自己的思维理解,然后再进行代码设计。
需要变通实践,代码调试变通,数据结构的组合无穷变着写代码。算法的奥妙就是在于变换,放在数据结构也是这个样子,掌握基本的数据机构算法,在学好数据结构的前提下可以学习下一本经典的算法书《算法导论》这个是算法的经典书籍。
学习数据机构不要想着有什么技巧或者方法,把自己调整到最佳的学习状态,方法自然就有了,不要给自己设置什么*,设置底线只会让自己处在一个围墙之内,学习新东西就是突破自我的一个过程,不要在开始学习的时候给自己过大的压力。
热心网友
时间:2022-04-07 12:23
分享一下我个人的学习方法,我觉得算是比较简单的一套方法,对智商要求不高。
——资料来源:
(星星代表我的使用频率)
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....
热心网友
时间:2022-04-07 13:58
最近在学习数据结构,虽然大学的时候,每个老师都说数据结构很重要。包括对我们找工作、代码的逻辑性都起决定性作用。但最后还是没有多少人学好了数据结构,包括我。所以代价就是,工作的时候又得抽时间重新来一遍。
入门学习数据结构时应主要是这两个过程:
选择一本合适的书。(初学者应从C语言实现开始学习)
编程实现和应用。(不断的刷题、看课程、同时做实验)
1.阅读书籍
一定要看书,一定要看书。数据结构和语言不一样,他不是锻炼我们编程能力,更多时候考察的是我们逻辑问题,也就是一种优化。
若果是纯小白的话:建议去图书馆借一本大学的比较薄一些的教材《数据结构》,然后建议尽量快的往后学习。如果一个知识点实在不懂,就可以跳过,学习到后面与前面知识点联系起来,说不定你会觉得很简单。
热心网友
时间:2022-04-07 15:49
常见数据结构:链表、树(如二叉树)。
2、常见算法思想:贪婪法、分治法、穷举法、动态规划,回溯法。
以上列出来的算是最基本的吧。就是说你刷题之前,要把这些过一遍再去刷题。如果你连这些最基本的都不知道的话,那么你再刷题的过程中,会很难受的,思路也会相对比较少。
总之,千万不要急,先把这些基本的过一遍,力求理解,再去刷题。这些基础的数据结构与算法,我是在大一第二学期学的,我没看视频,我是通过看书学的,那时候看的书是:
1、算法分析与分析基础:这本比较简单,推荐新手看。
2、数据结构与算法分析—-C语言描述:代码用C写的,推荐看。
3、挑战程序设计竞赛(第二版):也是很不错的一本书,推荐看。
具体可以看我的另外一篇文章,里面是介绍这几本书的:
算法与数据结构书籍与视频福利
说实话,我那一学期的时间几乎都花在数据结构与算法上,但刷的题很少,只是书本上的一些例题。所以当我把这些基本的过一遍之后,再去一些网站刷题依旧非常菜。
所以你们千万别指望以为自己把这些思想学完之后刷题会很牛,只有多刷题,只有多动手实践,你的灵敏度才会提高起来。
热心网友
时间:2022-04-07 17:57
在网上有这一类的课程,买上,跟着老师学习效果事半功倍,自己摸索事倍功半。
热心网友
时间:2022-04-07 20:22
学习数据结构首先要学好C语言,然后去专门的培训班进行学习。
热心网友
时间:2022-04-07 23:03
如何学习数据结构?只要你真心实意地想学一门技术想学好,可以在网上找辅导教师也可以其他办法来参加*,总之只要踏踏实实的学一定会能把咱们技术学到手。
热心网友
时间:2022-04-08 02:01
学习数据结构,你先要弄清楚学的目的是什么?这个数据结构在编程的时候非常有用,对数据在存储器中存放的位置,怎样检索,等等有重要意义。然后就要一步一步跟着老师走,习题弄懂,适当实践,基本可以初步掌握。
热心网友
时间:2022-04-08 05:16
想要学习数据结构也是需要通过一些专业的培训机构来进行学习,这样的话也是能很快速很方便的学会。
热心网友
时间:2022-04-08 08:47
这个东西我觉得是需要具体的一个学习的,她通过有课本的基础,理论学习,然后还有就是网络实践上面的那种,直接去看数据结构去分析。
热心网友
时间:2022-04-08 12:35
你自己数学思维玩足够,不然学习起来会比较费劲,也不一定会有效果,一般还是男生学习的好一些
热心网友
时间:2022-04-08 16:40
如何学习数据结构?回答数据结构很难学,必须有专业的导师来引导才能达到这个标志。一般的情况下数据是不好掌握的。
热心网友
时间:2022-04-08 21:01
学习数据结构?可有两种方法,第一自学,从网络上找一些个数据文章,可以自己购买一些书籍进行自己学习。第2可以专业课程学习。不过需要占用大量的时间,而且还需要准备一定的费用。可以根据自己的时间和经济条件来选择。
热心网友
时间:2022-04-09 01:39
数据结构要的是思想,但你至少要熟练 一门语言,怎能检验你的思想是否正确?强烈推荐《STL源码剖析》。结合STL中的源码去分析,STL是我看到的最全的以数据结构为宗旨的一种库,还建议你去下一个STLPORT,之中的源码比VC提供的好些,很全,基本上能够用到的数据结构都涉及到了,并且在学这个库的过程当中还可以学习一些设计模式,还可以学习VC中的范型运算思想。
热心网友
时间:2022-04-09 06:34
数据结构是一个非常复杂的。你需要有一定的科学知识作为支撑才可以解决和理解
怎样学好数据结构与算法
1、注意化归转化思想学习。人们学习过程就是用掌握的知识去理解、解决未知知识。数学学习过程都是用旧知识引出和解决新问题,当新的知识掌握后再利用它去解决更新知识。初中知识是基础,如果能把新知识用旧知识解答,你就有了化归转化思想了。可见,学习就是不断地化归转化,不断地继承和发展更新旧知识。...
数据结构怎么学
数据结构学习方法如下:1.选择一本合适的书 一分推荐普林斯顿的这本橙书:《算法 第四版》,是我认为最适合拿来入门的。在橙书中淡化了算法分析和证明,强调了实现和应用,并且通过一些有趣的习题对比显示了优秀的算法与数据结构在时间和空间上的高效。2.编程实现和应用 理解一个数据结构与编程实现其完...
数据结构学习方法
3、认真观察、积极思考:不要做一个被动的信息接受者,要充分调动自己的积极性,紧跟老师讲课的思路,会取得的学习效果好。4、充分理解、掌握方法。5、抓住老师讲课的重点:有的同学在听课,往往忽视老师讲课的开头和结尾,同时还要注意老师反复强调的部分。6、做好课堂笔记:是强化记忆的最佳方法之一。笔...
数据结构学什么
数据结构主要学习线性结构、树结构、图结构、散列结构等内容。数据结构的定义和分类是首先要学习的内容。数据结构是计算机存储和运算数据的基础,主要研究数据的逻辑结构和物理结构。逻辑结构主要包括线性结构、树形结构、图形结构等,而物理结构关注的是数据在计算机内存中的存储方式。线性结构是数据结构中最基础...
数据结构这么难怎么学
1 需要有一些编程语言基础,对函数、数组、结构体、指针等比较了解;2 先大概看一下一遍数据结构的书籍,先把书上的内容按难度分一下类,如:容易,比较难,很难,先把容易的学会,再学习难一些的,再学习更难的~3 在看书的时一定要自己编程,再上机调试,把书上结构体和算法用程序实现,一定要把...
如何学习数据结构
1、首先你要知道什么是数据结构,学习数据结构的意义。这将是你学习的动力所在。计算机软件都用到了数据结构。所以,学好数据结构对于你将来从事计算机编程类的工作有十分重要的作用。2、数据结构中的基本概念,你要一定清楚。平时要多看书,要在计算机上去调试程序,在调试的过程中,你才能发现自己的问题,...
数据结构与算法大学没学明白的来
数据结构大学生怎么学数据结构?五大脉络图 数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 相关术语 在数据结构与算法中,数据、数据对象、数据元素、数据项有一些同学搞不懂其中的关系。
怎样学习数据结构
3 数据结构学习的技巧 3.1 学习数据结构的概念后对于抽象数据类型的设计参考C++ STL标准库中容器的设计.这样对于无论是数据结构的学习还有程序设计接口能力上都会有很大的提高.3.2 对于数据结构课程中很多时候都不太重视的顺序(数组)做存储的数据结构,希望大家还是要多留意这快的知识.对于有些场合...
数据结构怎么学
数据结构应该这样学,学习离散数学和线性代数。数据结构从文字上面来看,为数据和结构两部分。这样就很容易联系到数据结构的本质是一种对于数据结构化的知识。数据结构和程序设计语言本身没有任何联系,唯一有的关系就实用程序语言去描述数据结构。因为数据结构是一种抽象数据,通过程序设计语言可以将在计算机中...
专升本计算机中数据结构应该如何学习?
先把例题中的数据结构应用理解透彻,再找到相近的题目进行练习,最后找一些综合性的应用进行练习。循序渐进的展开练习。最后,在学习过程中,形成一个属于自己的知识体系,在“印象笔记”中单开一个“数据结构”的笔记本,记好笔记,多多复习。在学习过程中,遇到挫折,产生挫败感也不必慌张,这个是必然会...