数据结构课程设计心得体会(精选10篇)
当我们有一些感想时,可以寻思将其写进心得体会中,这么做可以让我们不断思考不断进步。那么如何写心得体会才能更有感染力呢?以下是小编帮大家整理的数据结构课程设计心得体会,仅供参考,希望能够帮助到大家。
数据结构课程设计心得体会1一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。
我这次设计的科目是数据结。
数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。
通过这次模具设计,我在多方面都有所提高。
一、编译工具Visual C++
很多程序在结构上是独立的,但是本此设计的程序功能不是零散的,它有一个连接是的程序是一个整体,怎样达到这种统一体呢?因为这个输出连接是贯穿始终的。说到这,就应该说以下我所应用的调试工具,也就是运行环境Visual C++,可以充分利用Windows的支持剪贴版和英文的特点。正是在实现循环链表的程序中充分利用这个特点,才能制作出全汉化的初始化画面。
二、巩固和温习了C语言
在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。
三、积累了宝贵的经验
我这次课程设计代码中主要使用了链表的循环和遍历这两中操作。循环链表(Circular Linked List)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。类似地,还有多重链的循环链表。在循环单链表中,表中所有结点被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。这样,空循环链表仅由一个自成循环的头结点表示。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。
这次课程设计我选中的题目是个人资料的管理。编写了一个可以简易使用的个人资料管理系统,可以进行资料的输入和管理。虽然在我的程序中有一部分是从网上搜索得来的,但我已经竭力将所获得的信息变成自己的资源,动手上机操作,在了解和看懂的基础上有所改变和创新,但是在的程序软件中还有部分的不足,需要加以更新。仅管,我并没能很好的利用所学数据结构的知识,但我也尽了自己最大的努力用我所学来完成这次的课程设计。同时,通过这次课程设计,我认识到了自己动手实践的弱势,特别是在编程方面,知道了计算机的实践操作是很重要的,只有通过上机编程才能充分的了解自己的不足。
四、对以后的学习充满了信心和期待
通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。
数据结构课程设计心得体会2做了一个星期的程序设计终于做完了,在这次程序设计课中,真是让我获益匪浅,我突然发现写程序还挺有意思的。
由于上学期的C语言跟这学期的数据结构都算不上真正的懂,对于书上的稍微难点的知识就是是而非的,所以我只是对老师的程序理解,我也试着去改变了一些变量,自己也尽量多的去理解老师做程序的思路。当我第一天坐在那里的时候,我就不知道该做些什么,后来我只有下来自己看了一遍书来熟悉下以前学过的知识。
通过这次的程序设计,发现一个程序设计就是算法与数据结构的结合体,自己也开始对程序产生了前所未有的兴趣,以前偷工减料的学习也不可能一下子写出一个程序出来,于是我就认真看老师写的程序,发现我们看懂了一个程序其实不难,难的是对于一个程序的思想的理解,我们要掌握一个算法,不仅仅限于读懂,主要的是要理解老师的思路,学习老师的解决问题的方法。
这次试验中,我发现书本上的知识是一个基础,但是我基础都没掌握,更别说写出一个整整的程序了。自己在写程序的时候,也发现自己的知识太少了,特别是基础知识很多都是模模糊糊的一个概念,没有落实到真正的程序,所以自己写的时候也感到万分痛苦,基本上涉及一个知识我就会去看看书,对于书本上的知识没掌握好。在饭后闲暇时间我也总结了一下,自己以前上课也认真的听了,但是还是写不出来,这主要归结于自己的练习太少了,而且也总是半懂就不管了。在改写老师的程序中也出现了很多的问题,不断的修改就是不断的学习过程,当我们全身心的投入其中时,实际上是一件很有乐趣的事情。对于以后的学习有了几点总结:第一、熟记各种数据结构类型,定义、特点、基本运算(分开点一点也没多少东西,难度不大,但是基本);第二、各种常用的排序算法,如冒泡排序、堆排序……,这些是必考的内容,分数不会少于20%;第三,多做习题,看 ……此处隐藏5353个字……,首先分析设计题目中涉及到的数据类型,在我们学习的数据存储结构中不外乎线性存储结构及非线性存储结构,非线性存储结构中有树型,集合型,图型等存储结构,根据数据类型设计数据结点类型。然后根据设计题目的主要任务,设计出程序大体轮廓(包括子函数和主函数),然后对每个子函数进行大体设计,过程中错误在所难免,所以要经过仔细探索,对每个函数进行改进。
程序基本完成后,功能虽然齐全,但是程序是否完善(例如,输入数据时是否在其范围之内,所以加入判断语句是很有必要的)还需运行测试多次,如有发现应该对其进行改善,当然要在力所能及的前提下。
课程设计过程虽然短暂,但是使我深刻理解数据结构和算法课程对编程的重要作用,还有“数据结构与算法”还提供了一些常用的基本算法思想及算法的编写程序。通过独立完成设计题目,使我系统了解编程的基本步骤,提高分析和解决实际问题的能力。通过实践积累经验,才能有所创新。正所谓,良好的基础决定上层建筑。只有基本功做好了,才有可能做出更好的成果。
数据结构课程设计心得体会9本次课程设计所用到的知识完全是上学期的知识,通过这次课程设计,我认识到了我对数据结构这门课的掌握程度。
首先我这个课程设计是关于二叉树的,由于是刚接触二叉树,所以我掌握的长度并不深。在编程之前我把有关于二叉树的知识有温习了一遍,还好并没有忘掉。二叉树这章节难度中上等,而且内容广泛,所以我只掌握了百分之六七十。
然后,在编程中我认识到了自己动手能力的不足,虽然相比较大二而言进步很大,但是我还是不满意,有的在编程中必须看书才能写出来,有的靠百度,很少是自己写的。还好,我自己组装程序的能力还行,要不这东拼西凑的程序根本组装不了。在编程中我还认识到了,编程不能停下,如果编程的时间少了,知识忘的会很快,而且动手也会很慢。同时,同学之间的合作也很重要,每个人掌握的知识都不一样,而且掌握程度也不一样,你不会的别的同学会,所以在大家的共同努力下,编程会变得很容易。在这次编程中,我了解到了自己某些方面的不足,比如说链表的知识,虽然我能做一些有关于链表的编程,但是很慢,没有别人编程的快,另外,二叉树和图的知识最不好掌握,这方面的知识广泛而复杂。以前,没动手编程的时候觉得这些知识很容易,现在编程了才发现自己错了,大错特错了,我们这个专业最重视的就是动手编程能力,如果我们纸上写作能力很强而动手编程能力很差,那我们就白上这个专业了。计算机这个专业就是锻炼动手编程能力的,一个人的理论知识再好,没有动手编程能力,那他只是一个计算机专业的“入门者”。在编程中我们能找到满足,如果我们自己编程了一个程序,我们会感到自豪,而且充实,因为如果我们专研一个难得程序,我们会达到忘我的境界,自己完全沉浸在编程的那种乐趣之中,完全会废寝忘食。编程虽然会乏味很无聊,但是只要我们沉浸其中,你就会发现里面的乐趣,遇到难得,你会勇往直前,不写出来永不罢休;遇到容易的,你会找到乐趣。编程是很乏味,但是那是因为你没找到编程重的乐趣,你只看到了他的不好,而没有看到他的好。其实,只要你找到编程中得乐趣,你就会完全喜欢上他,不编程还好,一编程你就会变成一个两耳不闻窗外事的“植物人”。可以说只要你涉及到了计算机,你就的会编程,而且还要喜欢上他,永远和他打交道,我相信在某一天,我们一定会把他当作我们不可或缺的好朋友。
最后我要谈的是长时间编程的好处,俗话说“熟能生巧”,确实是这样。如果我们长时间不编程,在一接触他,我们会感到很陌生。有规律的编程会提高我们的动手能力,我们的思维,也会让我们变得很细心。在一个几千行的程序中,我们都能找到错误,那我们还会怕其他的错误吗?可以说编程是我们在我们这一行业的一把利剑,如果我们能很好的利用它,我们就会成为这个行业的真正成功者。也许你会说就算变成好了也不一定成功,是的,但是你不会编程就一定不会成功。如果,我们想成为这个专业的成功者,我们就得爱上编程,不管他是怎么得乏味,怎么得无聊,我们都不能丢掉他。总之,动手编程就是锻炼我们的动手能力,当然这个动手能力并不是科研上的动手能力,而是我们的动手编程能力,记住,只要你真正的喜欢上他,你就会发现其中的乐趣,我相信,只要你坚持下去,你一定会喜欢上他,把编程当作自己日常生活中一件必须做的事情。
数据结构课程设计心得体会10完成了这次的二元多项式加减运算问题的课程设计后,我的心得体会很多,细细梳理一下,有以下几点:
1、程序的编写中的语法错误及修改
因为我在解决二元多项式问题中,使用了链表的方式建立的二元多项式,所以程序的空间是动态的生成的,而且链表可以灵活地添加或删除结点,所以使得程序得到简化。但是出现的语法问题主要在于子函数和变量的定义,降序排序,关键字和函数名称的书写,以及一些库函数的规范使用,这些问题均可以根据编译器的警告提示,对应的将其解决。
2、程序的设计中的逻辑问题及其调整
我在设计程序的过程中遇到许多问题,首先在选择数据结构的时候选择了链表,但是链表的排序比较困难,特别是在多关键字的情况下,在一种关键字确定了顺序以后,在第一关键字相同的时候,按某种顺序对第二关键字进行排序。在此程序中共涉及到3个量数,即:系数,x的指数和y的指数,而关键字排是按x的指数和y的指数来看,由于要求是降幂排序且含有2个关键字,所以我先选择x的指数作为第一关键字,先按x的降序来排序,当x的指数相同时,再以y为关键字,按照y的指数大小来进行降序排列。
另外,我在加法函数的编写过程中也遇到了大量的问题,由于要同时比较多个关键字,而且设计中涉及了数组和链表的综合运用,导致反复修改了很长的时间才完成了一个加法的设计。但是,现在仍然有一个问题存在:若以0为系数的项是首项则显示含有此项,但是运算后则自动消除此项,这样是正确的。但是当其不是首项的时候,加法函数在显示的时候有0为系数的项时,0前边不显示符号,当然,这样也可以理解成当系数为0时,忽略这一项。这也是本程序中一个不完美的地方。
我在设计减法函数的时候由于考虑不够充分就直接编写程序,走了很多弯路,不得不停下来仔细研究算法,后来发现由于前边的加法函数完全适用于减法,只不过是将二元多项式B的所有项取负再用加法函数即可,可见算法的重要性不低于程序本身。
3、程序的调试中的经验及体会
我在调试过程中,发生了许多小细节上的问题,它们提醒了自己在以后编程的时候要注意细节,即使是一个括号的遗漏或者一个字符的误写都会造成大量的错误,浪费许多时间去寻找并修改,总结的教训就是写程序的时候,一定要仔细、认真、专注。
我还有一个很深的体会就是格式和注释,由于平时不注意格式和注释这方面的要求,导致有的时候在检查和调试的时候很不方便。有的时候甚至刚刚完成一部分的编辑,结果一不注意,就忘记了这一部分程序的功能。修改的时候也有不小心误删的情况出现。如果注意格式风格,并且养成随手加注释的习惯,就能减少这些不必要的反复和波折。还有一点,就是在修改的时候,要注意修改前后的不同点在哪里,改后调试结果要在原有的基础上更加精确。
文档为doc格式
【数据结构课程设计心得体会】相关文章:
Copyright © 2024 艺云心得网 www.everadx.com 版权所有