数据结构到底怎么学比较好啊?
数据结构作为大学计算机相关专业的学生来说是一门十分重要的课程,无论是以后算法思想的渗透,还是工作中程序代码的处理,都离不开数据结构的影子。但是因为数据结构知识较多,并且比较抽象,对于很多人来说学它就感到头疼。其实大可不必,数据结构的学习自然有其对应的方法。
首先,如不是为了应对考试或者考研,而是单纯的想学好数据结构的话,那就停止背诵那些繁多的空间复杂度和时间复杂度吧,这两者只需要学会简单的判别方法即可,了解哪个复杂度高哪个复杂度低就行了,因为算出来具体的复杂度在现实中是很少用到的。
其次,数据结构从名字上就可以了解,我们主要学习的是一种结构,那么任何结构单纯的解读定义是很抽象的,所以就需要将每个结构形象化,无论是简单的链表队列还是复杂的二叉树和图,将每个结构画出来,可以很轻松的帮你理解结构的原理,如果在结构的基础上进行插入、删除、排序等等操作,有了这些形象的图画也可以帮助你很直观的展现出来。
最后,就是对每个结构的应用要熟练掌握。在各种oj平台上刷题,如果你学校有刷题平台是最方便的。在刷题过程中,尤其要针对数据结构每个知识点进行专门的章节训练,来培养自己在编程过程中运用数据结构的习惯性思维,掌握好何时使用平衡二叉树、何时使用hash、何时使用图等等。
还有一点,要想学习好数据结构,好的课程是必不可少的,如果大学老师讲的足够好的话完全可以带你领略数据结构的美丽风景,如果你想自学成才的话,推荐浙江大学陈越姥姥的课和清华大学邓俊辉老师的课,都十分透彻易懂。
数据结构与算法和做菜
多想> 多看 > 多写字 > 多动键盘
养成好的编程习惯很重要。
做任何工作之前,要把自己的思路整理清楚 参考别人的相关工作经验,针对自己的需求做分析 把思路落实到纸张上 采用自顶向下的编程方式,先把你的个函数的功能,入口和出口描述清楚 每个函数内部的执行流程,都要注释好。 最后再分段逐步编码。
这样可以有效的避免大多数的错误发生。 即便出现错误,也很容易定位到问题的所在。 不知道大家是怎样看待数据结构这门课的,有多少人觉得数据结构很难呢?我知道还是有一些同学这样觉得的,有时候我跟我的朋友讲要怎样学,讲了一大堆以后,他就向我抱怨:我以前c++都没有学好,数据结构更学不好了,这哪跟哪的话啊,数据结构与c++没有什么关系,我想假如抱有这样的心态,自己就不相信自己,那是不可能学好的,然后那些觉得数据结构很难的同学,我想他们应该会很看重数据结构的吧,然后就一天到晚捧着一本数据结构,这样不会觉得很累吗?而且因为觉得很难,就容易不相信自己,学的效率也不会很好,个人认为数据结构很好学,很容易学,或许这有点妄自菲薄吧,但是因为我觉得很容易,当然就会觉得自己没问题,学得很轻松,效果也还可以。大家都是从高考走过来的,应该知道心态的重要性吧,两种不同的心态,完全就是两种不同的效果。学了这么久数据结构了,我们到底在学些什么呢?不知道大家有没有想过,那现在我们现在来归纳一下我们学习的内容吧,其实学到现在我们也就学了几种普通的数据结构,象二叉树,树,图,还有排序的问题,前面的线性表和字符串也就是一些概念,当然还有一个很重要的KMP算法,然后在每种数据结构中我们也就是学到了若干处理的算法,我想真正数起来也就是几十个算法吧。学习数据结构也就是要掌握这几十种算法,多简单。至于如何掌握每个算法呢,我想就是多看看书,重要的是能够理解。 如果真的想学好数据结构的话,最好是能够自己思考问题,不要刚想了一会就觉得做不出来,然后就去问其他人。其实张老师给我们的作业还是基于我们的水平的,我绝对相信我们自己能够独自想出算法,虽有可能会比较长时间吧,但是这样肯定会比问其他人学到更多的东西。当然我并不是说不要问同学,有时候就是脑筋转不过来,一问别人就懂了,当然问了别人不能只是我知道了这个算法,还应该去想如何思考才能得到这个算法,这样水平会提高很多。
很多计算机专业的同学对于大学2年级开设的数据结构课程很是头痛. 看见大家总在谈论数据结构重要性,可使自己学习却总也找不到合适的方法. 下面我和大家分享一下我过去一年多以来学习和应用数据结构方面一些经验. 内容都是来自作者本人的一些经历和体验,希望对于大家学习数据结构有引导作用。 1什么是数据结构 数据结构从文字上面来看,为数据和结构两部分。这样就很容易联系到数据结构的本质是一种对于数据结构花的知识。补充一个知识点,数据结构本质和离散数学有很密切的关系。离散数学是处理的是离散(非连续的)的数据,站在数据结构的观点上来看,也可以理解是一种非连续数据的结构。 2数据结构和程序设计语言 数据结构和程序设计语言本身没有任何联系,唯一有的关系就实用程序语言去描述数据结构。 因为数据结构是一种抽象数据,通过程序设计语言可以将在计算机中进行实现。今天大学里数据结构课程常用来描述数据结构的语言有C程序设计语言,C 程序设计语言和JAVA程序设计语言.而对于喜欢其他语言的同学完全可以自己通过学习数据结构后用自己熟悉的程序设计语言去完成程序化的描述. 我自己过去很喜欢C#程序设计语言,自己用C#程序设计对于一些数据结构进行了实现. 大家可以通过访问CSTC我的专栏看到两篇C#描述的数据结构 3数据结构学习的技巧 3.1学习数据结构的概念后对于抽象数据类型的设计参考C STL标准库中容器的设计.这样对于无论是数据结构的学习还有程序设计接口能力上都会有很大的提高. 3.2对于数据结构课程中很多时候都不太重视的顺序(数组)做存储的数据结构,希望大家还是要多留意这快的知识.对于有些场合需要考虑时间换空间的情况下需要考虑顺序存储结构. 3.3?数据结构学习一定要自己独立完成代码实现,虽然有时候你理解内容了,但是实现上面还是会愈要很多困难的,解决这些困难会帮助你提高程序设计的能力的. 推荐一本习题集 C 描述的数据结构的习题集(英文版) 数据结构是计算机专业最重要最基础的一门课,对于有过编程经验的人,结合自己的编程体会去悟它的思想;对于初学者,捡一种自己最熟悉的语言去分析它总之千万不要陷在语言的细节上要高屋建瓴的去领会数据结构的思想。而且我觉得随着编程经历的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。奉劝孔孔不要灰心,对于实在弄不懂的东东,就先记住,应付过考试再说。
你用的是什么书呀?我们现在也在学数据结构呀,虽然是刚刚开始学习不久,我觉得那个数据结构要多结合现实来理解吧。真的要自己动手去把书里面的习题和例子都画画图才好,就像我们书里面那个关于红绿灯设置的问题,单单靠看是看不懂的,然后当我自己用以前所学过的知识,用集合的方法,把那些可以一起通行的方向都归为了一类之后,我感觉那个思绪变得很清晰,只有当你的思路理清了以后,才可以更好地理解。还有,关于数据结构怎么学这个问题,也许我的学习方法不是最好的,但是我还是想和你分享一下下吧,就是一开始不是有些线性表,链表什么的吗?那些不知道你能懂吗?我在看书的时候,就正如顺序表,我会把这个顺序表想象成一个现实中的队伍,正如以前做操时排队那样,基本的添加和删除等操作都可以想象成老师对这个队伍的操作,就正如添加就是在一个队伍的某一个地方插入一个人这样。不过这个只是一个方法而已,顺序表其实也不用什么这样的想象吧,不过也许以后得学习也可以参照我的这个方法吧,联系现实。。不过还是得靠自己去亲手画画书里面的那些结构等等的东西,当你自己可以画出来,其实你的思路就会清晰了,思路清晰了,学起来会好很多的。。 加油!!
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
理解一个算法并不仅仅是能把一个算法表面上的东西记住,然后再默写下来而已。真正的理解是理解算法的思想,为什么要这么做,有什么好处,与别的解决一个问题的算法相比,优劣在哪?以及处理问题的时候,能用这个思想方法来解决不同的问题,绝不仅限于算法本身,算法只是表象,思想才是实质
支链到底是什么 怎么根据结构式看支链 主链 最好有示意图 谢谢_百度...
可以用一条线连起来含碳原子最多的并包括官能团在内的那条是主链。主链之外那些侧边的链就是支链,也叫侧链。
教我怎么根据原子结构示意图写化学式,比
可根据原子结构示意图的最外层电子数判断该原子是易失电子还是易得电子,然后把易得电子的原子排在前面,把易失电子的原子排在后面,把易得电子的原子所失去的电子个数作为易失电子的原子右下角的数字,把易失电子的所得到的电子个数作为易失电子的原子右下角的数字.这样就可以根据原子示意图书写化学式...
怎么学习议论文
1、理解议论文的基本结构:议论文通常包括论点、论据和结论三个部分。论点是作者的观点或主张,论据是支持论点的证据或理由,结论是作者总结并重申论点的部分。2、学习如何提出论点:在写作议论文时,首先要明确自己的观点或主张,并且能够简洁明了地表达出来。提出论点时,可以采取提问的方式,如“你认为...
西方经济学-四种市场结构的比较(简答)
西方经济学-四种市场结构的比较(简答) 完全竞争市场:单个买者和卖者不能影响市场价格,其条件是市场上有很多小规模卖者和买者,产品同质,进出市场和资源流动自由,资讯完美。 完全垄断市场:在特定时期和地区之间,一种产品只有一个生产者或者卖者,其条件是由 *** 或者法律的社会,政策或法规限制进出市场,这种产品的生...
说明文说明方法有哪些
作比较、列数字、分类别、打比方、摹状貌等等。1、作比较 作比较是将两种类别相同或不同的事物、现象加以比较来说明事物特征的说明方法。说明某些抽象的或者是人们比较陌生的事物,可以用具体的或者大家已经熟悉的事物和它比较,使读者通过比较得到具体而鲜明的印象。作用:把……与……进行比较,突出强调...
怎么进行语义结构的分析?(语言学概论)
8 语言学中语义研究:一般而言是以语义为研究对象的语义学研究。 9 语义性质概括性、模糊性和民族性 第二节词义结构 1 词:音义结合的语言单位,词义是指词的语音形式所表达的内容。词的意义包括词汇意义和语法意义。 2 词义是人们对一定对象的概括反映,但这种反映在揭示事物本质的程度上有深有浅。 3 词义分理性...
科学作业人体结构
这里要求学生具体说出怎样对称。 通过讨论,学生明确:人体的左边和右边的眼、耳、鼻、上肢、下肢等各部分不仅大小、长短、粗细、颜色、形状而且位置都是一样的,即一一对应的)(2)让学生亲自体验身体左右对称这种结构的好处。活动:①体验用两只眼睛看,比用一只眼睛看到的范围广;活动:②让学生体会两只眼睛比用一只眼睛...
高中化学烷烃问题。怎么根据结构简式判断烷烃种类,例如题目会给下列结...
是根据碳原子的个数判断的。但是有时会出现同分异构体,所以还要根据简式看他们是否为同分异构体。不懂请追问,望采纳,谢谢!
学习任务植物的形态结构认识
叶的形状包括叶的整体轮廓、叶的顶端、基部及叶边缘。叶的轮廓通常以叶的长\/宽之比及最宽处的部位为标准而划分为基本的几何形态,并结合常见物体形象而命名(图3-13)。图3-13 叶的各种形状 (据童金南,2007)叶的边缘无裂者称为全缘,有的叶缘呈锯齿状、波状,或呈浅裂、深裂、全裂和掌状分裂...
从零开始学机械,如何画好一张零件图?图文详解!
零件结构分析方法 任何从事设计行业的人,都是从模仿开始的。模仿别人的外形,学习他们的设计思路,不断积累经验。 零件的结构分析,就是从设计要求和工艺要求出发,分析零件不同结构的功用。 我们不仅需要知道这个零件是什么样的(简单地测绘),也要知道为什么要这样设计(设计思路),这样才能提升自己的...
晨馨膦甲: 别听他们瞎说,数据结构是一门非常重要的基础课程,但并不是死记硬背就行的,那是应付一般的考试,老师划几道题,背一下及格就行.如果真想学好编程,这门课程是非常有用的.想学好它,主要是掌握C语言中的指针的用法,要知道指针...
凤山县19323576833: 怎么才能学好数据结构 - ?
晨馨膦甲: 1、 数据结构学习一定要自己独立完成代码实现,虽然有时候你理 解内容了,但是实现上面还是会愈要很多困难的,解决这些困难会帮助你提高程序设计的能力的. 2、 数据结构是计算机专业最重要最基础的一门课,对于有过编程 经验的人,...
凤山县19323576833: 数据结构到底怎么学比较好啊? - ?
晨馨膦甲: 数据结构是计算机存储、组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率.数据结构往往同高效的检索算法和索引技术有关.理解一个算法并不仅仅是能把一个算法表面上的东西记住,然后再默写下来而已.真正的理解是理解算法的思想,为什么要这么做,有什么好处,与别的解决一个问题的算法相比,优劣在哪?以及处理问题的时候,能用这个思想方法来解决不同的问题,绝不仅限于算法本身,算法只是表象,思想才是实质
凤山县19323576833: 怎样学好数据结构这门课? - ?
晨馨膦甲: 你好,我是学计算机的; 数据结构一般会有一门计算机语言课作为先修课,比如C,PASCAL等,然后以语言实现为辅助进行讲解,既然你学的是应用数学,应该至少学过一门语言吧?如果没有的话也没关系,找一本书来看看,看懂基本的语法...
凤山县19323576833: 怎么才能学好数据结构呢? - ?
晨馨膦甲: 其实我也是学数据结构的,说实在的,学这个东西,最重要不是难不难的问题,主要是看你怎么做.如果你是自学数据结构的话,最好在参考着关于数据结构的语言编程.例如你要选修的是数据结构的c++版,你就要买本c++教程,首先把语言学...
凤山县19323576833: 数据结构到底怎么学比较好啊? - ?
晨馨膦甲: 写数据结构代码编程了学习C语言,是大多数初学者的经验,其实有办法可以避免的. 多想 > 多看 > 多写字 > 多动键盘 养成好的编程习惯很重要. 做任何工作之前,要把自己的思路整理清楚 参考别人的相关工作经验,针对自己的需求做分析 ...
凤山县19323576833: 怎样可以学好数据结构?? - ?
晨馨膦甲: 前面的话:轻舟曾经热衷于把自己复习时候遇到的问题和总结的经验分享给大家,不过 来了交大以后,发现这里卧虎藏龙,自己只不过是溪底小虾一个.于是放弃了以前出数 据结构笔记的打算,不过,最近又有许多同学问起我数据结构的事情...
凤山县19323576833: 怎样学好数据结构啊??
晨馨膦甲: 数据结构 学起来貌似难 其实弄懂了就很简单. 数据结构中 最重要的就是讲了如何把现实中的问题用计算机来处理. 其中最主要的就是数据的存储.一个好的数据存储,能让编程简单很多. 所以其实最主要的就是搞懂书中所提到的存储方式. 要搞懂甚至 熟悉 你就得利用这些存储方式 分别去编一些程序来 实现某些功能. 一般书上都有 需要你编的程序.用心做一下,慢慢体会该中存储方式 的优点. 其实数据结构 大部分东西你就学到了. 至于如何把现实中的对象 抽象出 数据 然后在找相应的存储方式的话 那要靠慢慢积累了 以上纯熟 个人观点,如有不对的地方 请指正 谢谢.
凤山县19323576833: 怎么学好数据结构啊 - ?
晨馨膦甲: 我认识一些学通信工程的同学,他们现在找工作很麻烦,因为学得不软不硬的,软件上比不上计算机学院的,硬件上比不上电子信息的,例如在华为笔试时,通信的几乎全挂了.所以建议你专攻一项,我认识的通信的同学现在都在专心学软件方...
凤山县19323576833: 怎样学好数据结构?高手给个建议.....?
晨馨膦甲: 毫无疑问,对于学计算机的人来说数据结构是很重要的.当初由于要考试,所以我是先把理论知识给搞懂了.把每一种方法的每一行代码是什么意思.之后再上机验证. 不过我觉得还是通过编程去实践帮助最大.既可以学数据结构又可以练习编程语言.而且在编程中学的话你可以做很多改变来验证你的思想是否正确,你的假设是否能执行. 我觉得数据结构更多的是一种编程的思想,所以得多摸索,多练习~