数据结构心得体会100字,数据结构实验报告心得体会100字
怎样才能学好数据结构啊?具体点!急!!!!
一时间也写不出太具体的方法 就在网上为你找了一个前辈发的帖子 你看一下,肯定比我写的好。
-------------------------
学习数据结构这门课程至少要经历三个过程,方可真正
的掌握这门课程,得到一个满意的成绩。这个过程简单来说就是三个字:活→死→活。
首先,是一个学“活”的过程,就要要求我们对书中的每一个算法,能够在脑海中
建立起相应的模型,而不是死板的算法。比如树的遍历非递归算法,在入栈与出栈的过程
中,我们就要在脑海中形成访问树每个结点的过程,真正掌握住这个算法。这样,全书复
习下来,你的脑海中就有了整个数据结构的模型概念,对任何一个陌生的算法,将不感到
生疏和害怕。
有些同学到了此处就觉得数据结构已经学好,可以万事大吉了,其实这还远远不够
,如果参加考试,往往会拿不到高分,甚至还会纳闷,为何自己数据结构学的这样好,成
绩却不尽如人意,因此产生了批卷老师判错的想法。所以第二个过程,就是一个学“死”
的过程,这个过程要求,要记住书中的算法(功利一点就是要背诵会所报考学校的考试要
求的算法)。有的学校有别的特殊要求,也一并背会。如上海交通大学喜欢考平均复杂度
的分析这样的题目,我们在书上可以找到这样的分析一共十一个,全部背会,就免去了在
考场上分析的麻烦,如果连答案都能记住,那么,也不会因为粗心失分了。这一过程也许
有些枯燥,但却是最重要的过程,比如说背会了树的后序遍历非递归,遇到了像求某个结
点的所有祖先,两个结点的共同祖先这样的题,不用想,直接套用。这样才是考试的高分
的关键:在考场上,遇到考题,不用思考,直接从脑海中找匹配的算法,直接引用。
有了第二个过程的辛苦,我们就可以得到一个比较高的分数了,如果还想提高,就
要进行第三个过程,再学“活”的过程。这一个过程中就要要求我们,在第二步的基础上
,多进行思考,看看有哪些算法有共性,比如说:树的前序非递归遍历算法和图的深度优
先遍历算法是不是类似啊,有些什么不同,有些什么相同,为什么会相同;森林转化为二
叉树和图的生成树的算法也是这样,等等。总结出这种共性,这样就能正确有效的记忆算
法,同时,遇到难题不至于慌乱,能够从容下手解题。
对于总结共性问题上,这里举一小个例子,(呵呵,我当初总结出这个,并且和ka
oyan.com斑竹一具讨论确定后三天,就在2002年交大第一题考出类似东东)比如树的遍
历,不管是递归还是非递归,也不管是线索树,还是头结点有父母信息的树,它的遍历其实就是一个寻找到遍历的第
一个结点,然后再寻找它的后继结点的过程,我们归纳到此处,就可以试着总结一下三种
遍历的后继结点是哪个,有几种情况:
对于前序遍历,它的后继如下:
(1)若有左孩子,则后继是左孩子;
(2)若无左孩子,有右孩子,则后继是右孩子;
(3)若既无左孩子,又无右孩子,则是一片叶子;再讨论:
(a)若是其父母的左孩子,且父母有右孩子,则后继是父母的右孩子。
(b)若是其父母的左孩子,且父母无右孩子;
(c)若是其父母的右孩子。
b,c都表示这是某个节点的左子树前序遍历的最后一个节点,则需要找第一个有右子
树的“左祖先”(定义“左祖先”,即找第一个使得当前节点在这个祖先的左子树上),
然后后继就是这个祖先的右孩子。
对于中序遍历,它的后继如下:
(1)如有右孩子,后继是右孩子的最左下节点;
(2)若无右孩子,且是父母的左孩子,则后继就是父母;
(3)若无右孩子,且是父母的右孩子,则一直上溯到第一个“左祖先”(定义如前)
则后继就是这个祖先。若无这样的祖先,说明已经遍历完毕。
对于后序遍历,它的后继如下:
(1)若是父母的右孩子,则后继是父母;
(2)若是父母的左孩子,且父母无右子树,则后继是父母;
(3)若是父母的左孩子,父母有右子树,则后继是父母右子树的最先访问到的节点(
指向父母的右子树后,一直往左,若不行的话,往右一步,一直到叶子)
总结完了,想一想,我们还能得到哪些提示?经常有一类型题目,要求求某个结点
的直接前驱。其实求前序遍历的前驱和求后序遍历的后继是一样的,只不过把左换成右而
已,前序遍历的求后继和后序遍历的求前驱、中序遍历的求前驱和中序遍历求后继都有这
样的对称关系。因此,总结出共性的东西,许多题目就可以迎刃而解了。问一问读到这里
的读者,你现在能够自己在脑子里面,非常轻松地像上面那样,把这个例子里面的情况都
条理清楚地分析总结出来吗?如果现在还不行,到考试之前,你必须掌握到这种程度,才
能得到一个自己很满意的分数。
经过以上的三个过程复习,相信读者对数据结构的掌握就可以到达比较高的水平了
,如果参加考试,获得一个比较满意的成绩也很有希望了。当然,达到这一
步并不容易,大量的练习是真正掌握的必由之路。因此,我们建议大家能够下功夫把本书
中的题目完整地做一遍。能够真正把本书中的所有题都掌握,绝不仅仅意味着仅会了书中
这几百道题目,而是意味着对数据结构这门课程的理解,以及对问题的分析能力都有很大
的提高,这样在考场上即使遇到未曾见过的题目,也就可以从容应对了!
学习数据结构的心得体会
这是一门纯属于设计的科目,它需用把理论变为上机调试。在学习科目的第一节课起,李老师就为我们阐述了它的重要性。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。
刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。TC里检查错误都是用英文来显示出来的,经过了这次课程设计,现在已经可以了解很多错误在英文里的提示,这对我来说是一个突破性的进步,眼看着一个个错误通过自己的努力在我眼前消失,觉得很是开心。此次的程序设计能够成功,是我和我的同学三个人共同努力作用的结果。在这一段努力学习的过程中,我们的编程设计有了明显的提高。
其实现在想起来,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。
求一数据结构课程设计心得体会。
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到Microsoft 公司的.NET产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了MVC架构,就是你啦。我决定用这个架构,不会,没关系,咱学。Just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.Net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.NET的核心技术就是XML[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。