数据结构的心得体会.docx

上传人:b****6 文档编号:6054600 上传时间:2023-01-03 格式:DOCX 页数:9 大小:22.05KB
下载 相关 举报
数据结构的心得体会.docx_第1页
第1页 / 共9页
数据结构的心得体会.docx_第2页
第2页 / 共9页
数据结构的心得体会.docx_第3页
第3页 / 共9页
数据结构的心得体会.docx_第4页
第4页 / 共9页
数据结构的心得体会.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据结构的心得体会.docx

《数据结构的心得体会.docx》由会员分享,可在线阅读,更多相关《数据结构的心得体会.docx(9页珍藏版)》请在冰豆网上搜索。

数据结构的心得体会.docx

数据结构的心得体会

数据结构的心得体会

数据结构的心得体会

【篇一:

数据结构综合实验心得体会】

心得体会:

做了一个星期的程序设计终于做完了,在这次程序设计课中,真是让我获益匪浅。

对大一学习的c语言和这学期开的数据结构,并没有掌握,很多知识都不太懂,突然让自己独立完成一个程序让我手忙脚乱,起码在我认为那真的特别难,看了老师给的题目以及上网查找了一些相关的知识,简单的编了几行就告一段落了,第一天等于只完成了老师要求写的需求分析和概要设计,后来查找了关于哈希表的相关知识,了解了如何创建哈希表,如何合适的构建哈希函数,(选取合适的表长,合适的余数,使得查找时间以及平均查找长度最短)以及什么是除留余数法,和怎样用除留余数法创建哈希表,看懂了之后,我又看了处理冲突的方法,有三种线性探测再散列法法,二次探测再散列法,伪随机数序列法三种,而我所要做的是第一种线性探测再散列的方法,相较后两种要简单很多,在遇到冲突的时候地址加一,知道冲突解决。

在了解这些概念以后,我就开始着手编程序了,在遇到问题的时候请教我们班擅长的同学,慢慢把不能不会不理解的地方给弄明白了,在经过很多次调试以后,一些基本功能已经可以实现了,为了使平均查找长度越小越好,我不断尝试新的表长以及除数,在没有出现错误的基础上,将功能实现,最后,终于在周四的时候将所有的程序调试完全。

这次的综合性实验使我了解到,平时对知识的积累相当重要,同时也要注重课上老师的讲解,老师在课上的延伸是课本上所没有的,这些知识对于我们对程序的编写有很大的作用,同时,编程也要求我们有足够的耐心,细细推敲。

越着急可能就越无法得到我们想要的结果,遇到不会的问题要多多请教,知识是在实践与向别人请教的过程中积累的,所以问是至关重要的,只要肯下功夫很多东西都是可以完成的。

【篇二:

数据结构课程设计心得体会】

数据结构课程设计心得体会

经过一个星期的课程设计,过程曲折可谓一语难尽。

整天都是对着电脑,不然就是翻阅资料。

在此期间我失落过,也曾一度热情高涨。

点点滴滴令我回味无长。

这次课程设计使我体会到只有做到细心耐心,恒心才能做好事情。

这次的课程设计,加强了我们动手、思考和解决问题的能力。

巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。

培养了我选用参考书,查阅手册及文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。

而且做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有些问题就不是很能理解,做完课程设计,那些问题就迎刃而解了。

而且还可以记住很多东西。

认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。

所以这个期末测试之后的课程设计对我们的作用是非常大的。

这次的课程设计使我懂得了理论与实际相结合是很非常重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在整个设计过程中,构思是很花费时间的。

调试时经常会遇到这样那样的错误,有的是因为粗心造成的语法错误。

当然,很多也时用错了方法,总是实现不了。

同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

根据我在课程设计中遇到得问题,我将在以后的学习过程中注意以下几点:

1、认真上好专业实验课,多在实践中锻炼自己。

2、写程序的过程中要考虑周到,严密。

3、在做设计的时候要有信心,有耐心,切勿浮躁。

4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运

用。

5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错

误,以便能节省调试程序的时间。

每个实验通常都要花费很久的时间才能理清一个程序的思路,而且要不断的调试程序才能把程序调试正确,同时还要做到界面的输出也是需要美化的。

这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,也完成了课程设计。

通过这次的课程设计,让我更加了解到数据结构的重要性。

以及它对我们专业的发展发挥的作用。

对我们而言,知识上的收获很重要,但精神上的丰收更加可喜。

让我知道了学无止境的道理。

我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。

挫折是一份财富,经历是一份拥有。

这次课程设计必将成为我人生旅途上一个非常美好的回忆!

同时在做课程设计时要能够从多方面去考虑,去研究,用多种算法去实现要求。

此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,这些都让我受益非浅,今后的制作应该能够更轻松,自己也都能够解决并高质量的完成项目。

【篇三:

数据结构实训心得体会】

这次课程设计的心得体会通过实习我的收获如下1、巩固和加深了对数据结构的理解,提高

综合运用本课程所学知识的能力。

2、培养了我选用参考书,查阅手册及文献资料的能力。

养独立思考,深入研究,分析问题、解决问题的能力。

3、通过实际编译系统的分析设计、编

程调试,掌握应用软件的分析方法和工程设计方法。

4、通过课程设计,培养了我严肃认真的

工作作风,逐步建立正确的生产观念、经济观念和全局观念。

从刚开始得觉得很难,到最后

把这个做出来,付出了很多,也得到了很多,以前总以为自己对编程的地方还不行,现在,

才发现只要认真做,没有什么不可能。

编程时要认真仔细,出现错误要及时找出并改正,(其中对英语的要求也体现出来了,因

为它说明错误的时候都是英语)遇到问题要去查相关的资料。

反复的调试程序,最好是多找

几个同学来对你的程序进行调试并听其对你的程序的建议,在他们不知道程序怎么写的时候

完全以一个用户的身份来用对你的用户界面做一些建议,正所谓当局者迷旁观者清,把各个

注意的问题要想到;同时要形成自己的编写程序与调试程序的风格,从每个细节出发,不放

过每个知识点,注意与理论的联系和理论与实践的差别。

另外,要注意符号的使用,注意对

字符处理,特别是对指针的使用很容易出错且调试过程是不会报错的,那么我们要始终注意

指针的初始化不管它怎么用以免不必要麻烦。

通过近两周的学习与实践,体验了一下离开课堂的学习,也可以理解为一次实践与理论

的很好的连接。

特别是本组所做的题目都是课堂上所讲的例子,在实行之的过程中并不是那

么容易事让人有一种纸上谈兵的体会,正所谓纸上得来终觉浅绝知此事要躬行。

实训过程中

让我们对懂得的知识做了进一步深入了解,让我们的理解与记忆更深刻,对不懂的知识与不

清楚的东西也做了一定的了解,也形成了一定的个人做事风格。

通过这次课程设计,让我对一个程序的数据结构有更全面更进一步的认识,根据不同的

需求,采用不同的数据存储方式,不一定要用栈,二叉树等高级类型,有时用基本的一维数

组,只要运用得当,也能达到相同的效果,甚至更佳,就如这次的课程设计,通过用for的

多重循环,舍弃多余的循环,提高了程序的运行效率。

在编写这个程序的过程中,我复习了

之前学的基本语法,哈弗曼树最小路径的求取,哈弗曼编码及译码的应用范围,程序结构算

法等一系列的问题它使我对数据结构改变了看法。

在这次设计过程中,体现出自己单独设计

模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,也

从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

篇二:

数据结构试验心得数据结构课程设计心得体会(专业:

计算机科学与技术姓名:

朱文学号:

2011220137)通讯录管理系统是基于双向循环链表设计而成的信息管理系统。

该系统通过对程序进行

模块化,建立添加、显示、查找和删除功能的函数,各函数中运用双向循环链表存储数据。

为存储通讯录信息,需定义一个结构体类型,成员包括姓名、街道、城市、邮编、国家等,

并建立双向循环链表,定义该结构体类型的指针,用于指向各结点。

分别建立具有添加、删

除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。

这其中要用到对链表

的删除、插入等知识。

为实现存储功能,需用到文件的相关函数开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管理个人的朋友及相关

人员的通讯信息,了解友人相关信息,帮助与友人保持联络。

所以设计一个通讯录管理系统

管理各人的通讯信息是非常必要的,同时,通过用循环双向链表设计通讯录管理系统可以让

我们更好的去理解循环双向链表,更好的学好数据结构这门课程。

本次实验中,我们使用分工合作的方式,首先定义了函数的结构体部分,剩下的根据函

数所要实现的功能进行分工合作,我实现的是通讯录中删除功能的子函数,删除信息(void

delete(dnode*head))的功能是按照用户输入的姓名首先进行按姓名查询功能,查找成功,

则执行删除信息的功能,查询不成功,则提示错误信息。

定义结点p,输入要删除的信息的

姓名,按姓名查找结点,如果找到匹配的结点p,就进行相关的删除操作,否则就是没找到

要删除的数据,最后返回到主函数。

这次实验中我深刻认识到合作的重要性。

例如:

我所编写的按名删除功能的实现中,应

用了章林霞同学所编写写的按名搜索查询功能的那部分函数,在这次实验中,我学到很多东

西,加强了我的动手能力,并且培养了我的独立思考能力。

我们坚持理论联系实际的思想,

以实践证实理论,从实践中加深对理论知识的理解和掌握。

实验是我们快速认识和掌握理论

知识的一条重要途径。

通过这次课程设计,我们对c语言以及数据结构有了更深刻的了解,增强了程序的编写

能力,巩固了专业知识,对程序的模块化观念也又模糊逐渐变的清晰了。

在程序的运行与调

试过程中出现了很多错误,通过反复地复习课本上的相关知识,不停地修改与调试,我们终

于完成了这段程序。

在调试过程中,我们认识到了数据结构的灵活性与严谨性,同一个功能

可以由不同的语句来实现,但编写程序时要特别注意细节方面的问题,因为一个小小的疏忽

就能导致整个程序不能运行。

我们也认识到了自己的薄弱之处,如对链表相关知识的欠缺,

文件运用的不熟练,在以后的学习中我们要集中精力、端正态度,争取把知识学得更扎实、

更全面。

经过这次的实验,我们整体对各个方面都得到了不少的提高,希望以后学校和系里能够

开设更多类似的实验,能够让我们得到更好的锻炼。

也让我们深深感受到讨论交流很重要,

遇到困难时,大家一起讨论,加强我们的团队合作精神,同时通过这次的课程设计,我们对数据结构中双向链表结构有了更深刻的理解。

篇三:

数据结构综合实验心得体会心得体会:

做了一个星期的程序设计终于做完了,在这次程序设计课中,真是让我获益匪浅。

对大

一学习的c语言和这学期开的数据结构,并没有掌握,很多知识都不太懂,突然让自己独立

完成一个程序让我手忙脚乱,起码在我认为那真的特别难,看了老师给的题目以及上网查找

了一些相关的知识,简单的编了几行就告一段落了,第一天等于只完成了老师要求写的需求

分析和概要设计,后来查找了关于哈希表的相关知识,了解了如何创建哈希表,如何合适的

构建哈希函数,(选取合适的表长,合适的余数,使得查找时间以及平均查找长度最短)以及

什么是除留余数法,和怎样用除留余数法创建哈希表,看懂了之后,我又看了处理冲突的方

法,有三种线性探测再散列法法,二次探测再散列法,伪随机数序列法三种,而我所要做的

是第一种线性探测再散列的方法,相较后两种要简单很多,在遇到冲突的时候地址加一,知

道冲突解决。

在了解这些概念以后,我就开始着手编程序了,在遇到问题的时候请教我们班擅长的同

学,慢慢把不能不会不理解的地方给弄明白了,在经过很多次调试以后,一些基本功能已经

可以实现了,为了使平均查找长度越小越好,我不断尝试新的表长以及除数,在没有出现错

误的基础上,将功能实现,最后,终于在周四的时候将所有的程序调试完全。

这次的综合性实验使我了解到,平时对知识的积累相当重要,同时也要注重课上老师的

讲解,老师在课上的延伸是课本上所没有的,这些知识对于我们对程序的编写有很大的作用,

同时,编程也要求我们有足够的耐心,细细推敲。

越着急可能就越无法得到我们想要的结果,

遇到不会的问题要多多请教,知识是在实践与向别人请教的过程中积累的,所以问是至关重

要的,只要肯下功夫很多东西都是可以完成的。

篇四:

数据结构实验报告及心得体会2011~2012第一学期数据结构实验报告班级:

信管一班

学号:

201051018姓名:

史孟晨实验报告题目及要求

一、实验题目

设某班级有m(6)名学生,本学期共开设n(3)门课程,要求实现并修改如下程序(算

法)。

1.输入学生的学号、姓名和n门课程的成绩(输入提示和输出显示使用汉字系统),输出实验结果。

(15分)

2.计算每个学生本学期n门课程的总分,输出总分和n门课程成绩排在前3名学生的学号、姓名和成绩。

3.按学生总分和n门课程成绩关键字升序排列名次,总分相同者同名次。

二、实验要求

1.修改算法。

将奇偶排序算法升序改为降序。

(15分)

2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。

(45分))

3.编译、链接以上算法,按要求写出实验报告(25)。

4.修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。

5.用a4纸

打印输出实验报告。

三、实验报告说明

实验数据可自定义,每种排序算法数据要求均不重复。

(1)实验题目:

《n门课程学

生成绩名次排序算法实现》;

(2)实验目的:

掌握各种排序算法的基本思想、实验方法和验证算法的准确性;(3)

实验要求:

对算法进行上机编译、链接、运行;(4)实验环境(windowsxp-sp3,visual

c++);(5)实验算法(给出四种排序算法修改后的全部清单);(6)实验结果(四种

排序算法模拟运行后的实验结果);(7)实验体会(文字说明本实验成功或不足之处)。

tructstudent

{charname[10];intnumber;intscore[n+1];/*score[n]为总分,score[0]-score[2]为学科成绩

*/}stu[m];

voidchangesort(structstudenta[],intn,intj){intflag=1,i;struct

studenttemp;while(flag){flag=0;for(i=1;in-1;i+=2)/*对所有奇数项进行一遍比较*/if(a[i].score[j]a[i+1].score[j]){temp=a[i];

a[i]=a[i+1];a[i+1]=temp;flag=1;}for(i=0;in-1;i+=2)/*对所有偶数项进行一遍比较*/if(a[i].score[j]a[i+1].score[j]){temp=a[i];a[i]=a[i+1];a[i+1]=temp;flag=1;}}}voidprint_score(structstudenta[],intn,intj){inti,k;printf(“奇偶交换成绩%d排序表,j+1);printf(\n);printf(名次学号姓名分数\n);k=1;for(i=0;knin;i++){if(i0a[i].score[j]!

=a[i-1].score[j])k++;printf(%4d,k);printf(%4d,a[i].number);

printf(%s,a[i].name);printf(%6d,a[i].score[j]);

printf(\n);}}main()

{inti,j,k;

for(i=0;im;i++)/*输入每个学生信息*/{printf(请输入第%d名学生分数:

i+1);printf(\n);printf(姓

名:

);scanf(%s,stu[i].name);printf(编号:

);scanf(%4d,stu[i].number);printf(数据结构:

);scanf(%4d,stu[i].score[0]);printf(离散数学:

);

scanf(%4d,stu[i].score[1]);printf(大学英语:

);scanf(%4d,stu[i].score[2]);}

for(i=0;im;i++)/*计算每个学生总分*/{stu[i].score[n]=0;for(j=0;jn;j++)

stu[i].score[n]+=stu[i].score[j];}

changesort(stu,m,n);/*对总分进行排序*/printf(学生总分成绩排序表\n);printf(名次学号姓名数据结构离散数学大学英语k=1;for(i=0;im;i++)

{if(i0stu[i].score[n]!

=stu[i-1].score[n])k++;printf(%4d,k);

printf(%4d,stu[i].number);printf(%s,stu[i].name);for(j=0;jn+1;j++)

printf(%6d,stu[i].score[j]);printf(\n);

}

changesort(stu,m,0);/*对数据结构成绩进行排序*/print_score(stu,m,0);

/*输出数据结构前3名同学成绩*/changesort(stu,m,1);/*对离散数学成绩进行

排序*/

总分\n);篇五:

数据结构实训报告山东科技大学泰山科技学院课程实训说明书课程:

数据结构项目实训题目:

院系:

信息工程系2014年5月25日专业班级:

学号:

学生姓名:

指导教师:

目录

一、设计题目..........................................................3

链表操作..........................................................31.3二叉树的

基本操作..................................................3

二、运行环境(软、硬件环境).......................................3

2.1软件环境..........................................................3

2.2硬件环境..........................................................3

三、数据结构及算法设计的思想.......................................3

链表设计构思......................................................43.3二叉树

设计构思....................................................4

四、源代码............................................................5

链表源代码........................................................65.3二叉树

源代码......................................................8

五、运行结果分析.....................................................11

6.1顺序表运行结果...................................................11

6.2链表运行结果.....................................................136.3二

叉树运行结果...................................................15

七、实习总结........................................................18

一、设计题目

1.1链表操作1.1.1设计目的?

掌握线性表的在顺序结构和链式结构实现。

?

掌握线性表在顺序结构和链式结构上的基本操作。

1.1.2设计内容和要求利用顺序表链表的插入运算建立线性链表,然后实现链表的查找、插入、删除、计数、

输出、排序、逆置等运算(查找、插入、删除、查找、计数、输出、排序、逆置要单独写成

函数),并能在屏幕上输出操作前后的结果。

1.2二叉树的基本操作1.2.1设计目的?

掌握二叉树的概念和性质?

掌握任意二叉树存储结构。

?

掌握任意二叉树的基本

操作。

1.2.2设计内容和要求

(1)对任意给定的二叉树(顶点数自定)建立它的二叉链表存储结构,并利用栈的五种

基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三

种遍历,输出三种遍历的结果。

(2)求二叉树高度、结点数、度为1的结点数和叶子结点数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1