算法的心得体会

算法设计心得体会

当我们经过反思,有了新的启发时,就十分有必须要写一篇心得体会,这样能够给人努力向前的动力。那么问题来了,应该如何写心得体会呢?以下是收集整理的算法设计心得体会,仅供参考,希望能够帮助到大家。

算法设计心得体会 篇1

一、实验内容:

这学期的算法与设计课,老师布置了这四个问题,分别是货郎担问题,动态生成二维数组,对话框下拉列表,排序问题。

二、学习掌握:

基本程序描述:

(1)货郎担问题:货郎担问题属于易于描述但难于解决的著名难题之一,至今世界上还有不少人在研究它。货郎担问题要从*g的所有周游路线中求取具有最小成本的周游路线,而由始点出发的周游路线一共有(n一1)!条,即等于除始结点外的n一1个结点的排列数,因此货郎担问题是一个排列问题。货郎担的程序实现了利用穷举法解决货郎担问题,可以在城市个数和各地费用给定的情况下利用穷举法逐一计算出每一条路线的费用,并从中选出费用最小的路线。从而求出问题的解

(2)费用矩阵:费用矩阵的主要内容是动态生成二维数组。首先由键盘输入自然数,费用矩阵的元素由随机数产生,并取整,把生成的矩阵存放在二维数组中,最后把矩阵内容输出到文件和屏幕上。它采用分支界限法,分支限界法的基本思想是对包含具有约束条件的最优化问题的所有可行解的解(数目有限)空间进行搜索。该算法在具体执行时,把全部可行的解空间不断分割为越来越小的子集,并为每个子集内的解计算一个下界或上界。动态生成二维n*n的数组程序利用指针表示数组的行和列,并逐一分配空间,在输入n的数值后,系统自动分配空间,生成n*n的数组,并产生随机数填充数组,最后将结果输入到指定文件中。

(3)Mfc:在下拉列表框中添加内容程序,在下拉列表对应的函数中利用addstring添加需要的内容。首先定义下拉列表框为ccombox型,并定义其属性名,利用addstring函数可以任意添加需要的内容。a排序问题:快速排序的运行时间与划分是否对称有关,其最坏情况发生在划分过程中产生的两个区域分别包含n-1个元素和1个元素的时候。其算法的时间复杂度为O(n 2),在最好的情况下每次划分的基准恰好为中值,可得其算法时间复杂度为O(n㏒n)。 算法的实现和理解和代码实现完全是两回事,想要完全掌握一种算法,需要动手实践,用代码实现,才能理解透彻,真正掌握。b对话框下拉列表:这个项目简单易懂,轻松实现。

三、疑问与总结:

货郎担的问题,我认为穷举法相对比而言是比较初级的方法,费时耗力,适合在练习时选用,但是在实际问题中不建议采用。克鲁斯卡尔或者普里姆算法求取最小生成树的方法来解决货郎担的问题是更适合现实解决问题的。我认为程序可以用switch函数来将函数分成几个部分更人性化,比如分为解决问题的的选项,输出结果选项,退出程序选项等。再有就是费用矩阵的值可以从文件中读取,而结果也可以直接放在指定文件中,这样在实际应用中比较广泛。

动态生成二维数组的程序我认为如果按照规范性,我的方法是中规中矩的,毕竟再向下延伸,生成三维的数组,需要三层的指针来实现。但是就程序的简化程度和计算机处理时间来说,我认为这样双层指针的算法有些太占用内存,毕竟要给行和列各分配n个空间。我通过与同学的交流,我发现可以用1位数组来实现二维的n*n的数组。首先分配n*n的空间,

然后通过循环在一行的数据达到n时自动换行。这样程序得到了一定的简化,并且减少了一定的内存使用。我认为这种方法是比较贴合实际的。

四、心得体会

在计算机软件专业中,算法分析与设计是一门非常重要的课程,很多人为它如痴如醉。很多问题的解决,程序的编写都要依赖它,在软件还是面向过程的阶段,就有程序=算法+数据结构这个公式。算法的学习对于培养一个人的逻辑思维能力是有极大帮助的,它可以培养我们养成思考分析问题,解决问题的能力。

如果一个算法有缺陷,或不适合某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂性和时间复杂度来衡量。算法可以使用自然语言、伪代码、流程*等多种不同的方法来描述。计算机系统中的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须使用具体的算法来实现。算法设计与分析是计算机科学与技术的一个核心问题。因此,学习算法无疑会增强自己的竞争力,提高自己的修为,为自己增彩。

算法设计心得体会 篇2

通过两周的课程设计,完成了预定的目标,其中有很多的随想。老师的题目发下来的很早,大概提前了3周,当时就着手搜索有关线索二叉树的思想,思路,借了一本《数据结构-c语言描述》,在大体上就有了一个轮廓,先是输入二叉树,在对二叉树进行线索化,依次往下,但在具体实现时,遇到了很多问题:首先是思想的确定,其非常重要,以前有了这个想法,现在愈加清晰起来,因此,花了大量的时间在插入删除的具体操作设计上,大概三个晚上的时间,对其中什么不清晰明确之处均加以推敲,效果是显著的,在上机上相应的节约了时间。

通过具体的实验编码,思路是对的,但是在小问题上摔了一次又一次,大部分时间都是花在这方面,这个节点没传过来啊之类的,以后应该搞一个小册子,记录一些错误的集合,以避免再犯,思想与C语言联系起来,才是我们所需要的,即常说的理论与实践的关系。

数据结构是基础的一门课,对于有过编程经验的人,结合自己的编程体会去悟它的思想;而且我觉得随着编程经历的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。看了这次课程设计的题目,虽然具体要求没有看清,但是总结一下,可以看出,其需要我们能把一个具体案例或一件事情反映为程序来表达,数据结构就是桥梁,通过自己的设计,使应用能力得以融汇,对与问题,具有了初步的分析,继而解决之的能力,感觉对以后的学习会有很大的帮助,学习无非是用于实践。

认识到自己的不足,希望能有进一步的发展。

算法设计心得体会 篇3

完成了这次的二元多项式加减运算问题的课程设计后,我的心得体会很多,细细梳理一下,有以下几点:

1、程序的编写中的语法错误及修改

因为我在解决二元多项式问题中,使用了链表的方式建立的二元多项式,所以程序的空间是动态的生成的,而且链表可以灵活地添加或删除结点,所以使得程序得到简化。但是出现的语法问题主要在于子函数和变量的定义,降序排序,关键字和函数名称的书写,以及一些库函数的规范使用,这些问题均可以根据编译器的警告提示,对应的将其解决。

2、程序的设计中的逻辑问题及其调整

我在设计程序的过程中遇到许多问题,首先在选择数据结构的时候选择了链表,但是链表的排序比较困难,特别是在多关键字的情况下,在一种关键字确定了顺序以后,在第一关键字相同的时候,按某种顺序对第二关键字进行排序。在此程序中共涉及到3个量数,即:系数,x的指数和y的指数,而关键字排是按x的指数和y的指数来看,由于要求是降幂排序且含有2个关键字,所以我先选择x的指数作为第一关键字,先按x的降序来排序,当x的指数相同时,再以y为关键字,按照y的指数大小来进行降序排列。

另外,我在加法函数的编写过程中也遇到了大量的问题,由于要同时比较多个关键字,而且设计中涉及了数组和链表的综合运用,导致反复修改了很长的时间才完成了一个加法的设计。但是,现在仍然有一个问题存在:若以0为系数的项是首项则显示含有此项,但是运算后则自动消除此项,这样是正确的。但是当其不是首项的.时候,加法函数在显示的时候有0为系数的项时,0前边不显示符号,当然,这样也可以理解成当系数为0时,忽略这一项。这也是本程序中一个不完美的地方。

我在设计减法函数的时候由于考虑不够充分就直接编写程序,走了很多弯路,不得不停下来仔细研究算法,后来发现由于前边的加法函数完全适用于减法,只不过是将二元多项式B的所有项取负再用加法函数即可,可见算法的重要性不低于程序本身。

3、程序的调试中的经验及体会

我在调试过程中,发生了许多小细节上的问题,它们提醒了自己在以后编程的时候要注意细节,即使是一个括号的遗漏或者一个字符的误写都会造成大量的错误,浪费许多时间去寻找并修改,总结的教训就是写程序的时候,一定要仔细、认真、专注。

我还有一个很深的体会就是格式和注释,由于平时不注意格式和注释这方面的要求,导致有的时候在检查和调试的时候很不方便。有的时候甚至刚刚完成一部分的编辑,结果一不注意,就忘记了这一部分程序的功能。修改的时候也有不小心误删的情况出现。如果注意格式风格,并且养成随手加注释的习惯,就能减少这些不必要的反复和波折。还有一点,就是在修改的时候,要注意修改前后的不同点在哪里,改后调试结果要在原有的基础上更加精确。

算法设计心得体会 篇4

通过这次课程设计使我进一步达到理论与实际相结合,提高了自己组织数据及编写程序的能力,使我们能够根据问题要求和数据对象的特性,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来并用软件解决问题,培养良好的程序设计技能,掌握设计程序的思路,学会用计算机语言编写程序,以实现所需处理的任务,锻炼自己的动脑能力,学会用自己的思路解决现实中的实际问题,虽然一开始也走了一些弯路不过在同学和老师的点拨下完成了该程序,这次课程设计中遇到了很多问题,一开始准备用二维数组存放的可考虑到同一个学校同一个项目有好几个人参加,就不能用二维数组了,如果每个学校都申请一个二维数组也非常不方便,还是用顺序表方便也不浪费空间,在这次课程设计的过程中虽然很多次都参照了课本及资料,不过这使我更加熟悉了顺序表以及结构体的定义及实现,调试过程中也遇到了一些问题也都是自己***思考完成的,还有一个体会是,遇到不会的地方可以参考课本也可以去*书馆或网上查资料,当然主要思路有了也就简单点了。在老师的答辩指指导下,程序数组那块程序的书写老师问我为什么是那样的,当时写这块程序的时候是看书上数组那块程序再加上自己的主观想法觉得就是这样写的,虽然这块程序当时那种主观想法是写对了,但是经过老师的答辩提问才知道虽然是写对了,但是这种思考和想法是错误不科学的,真正的是因为第2次循环是因为第一次释放了一个。所以通过这次课程设计让我懂得了一个很重要的道理,就是以后如果哪地方有一点迷惑,有一点不懂的地方不能凭自己主观的思考和想法觉得应该是这样的,一定要找老师问清楚为什么是这样的,一定要把每步每个小程序都要搞的十分的清楚,这真是个很好的收获。还有就是这个程序的男女问题上,开始准备在结构体中加一个sex的点,大使那样对与男女项目还是有点麻烦,后来在同学的提醒下,通过参赛项目号就可以解决了,比m大就是女子项目,比m小或者等于m就是男子项目。这样就可以很完美地解决这个问题了。

其实,当你实验遇到问题时,自己会通过很多途径去解决它,没有解决时,心急如焚,解决之后的那种快感是前所未有的,这也许就是付出了行动之后的收获吧!

这也教会了我们以后在社会上,遇见了事情不可怕,只要不被困难击倒,解决了它,那样我们就是胜利的!

算法的心得体会

转载请注明出处记得学习 » 算法的心得体会

学习

算法和程序设计教学

阅读(133)

本文为您介绍算法和程序设计教学,内容包括算法与程序设计的教案,算法的基本思想第二课时教案,算法与程序设计教案。算法与程序设计的教案作为一位杰出的教职工,时常需要编写教案,编写教案有利于我们弄通教材内容,进而选择科学、恰当的教学

学习

小学数学简便算法最全方法归类

阅读(125)

本文为您介绍小学数学简便算法最全方法归类,内容包括小学数学简便算法,小学数学简便算法教学,小学数学简便算法及技巧。小学数学简便算法小学数学中,除了运用运算定律及和、差、积商的变化规律进行简便运算之外,常见的简便运算方法还有

学习

象冢之谜

阅读(148)

本文为您介绍象冢之谜,内容包括象冢,象冢小说全文,象冢什么意思。象冢传说,每一只预感到生命即将结束的大象,都会在有限生命的最后几天走到丛林的深处,沿着象道来到那传说中的归宿——象冢。接下来就由带来象冢,希望对你有所帮助!在西双版纳

学习

常见的谦辞和敬辞

阅读(141)

本文为您介绍常见的谦辞和敬辞,内容包括常见的谦辞与敬辞荟萃,不吝赐教敬辞还是谦辞,奉还属于谦辞还是敬辞。常见的谦辞与敬辞荟萃汉语中有许多敬辞和谦辞。敬辞,即表示对别人敬重的词语;谦辞,则是用于自我表示谦恭的词语。千百年来,中国人

学习

轻盈的反义词有哪些最佳答案

阅读(145)

本文为您介绍轻盈的反义词有哪些最佳答案,内容包括轻盈的反义词有哪些,轻盈的反义词有哪些四个,轻盈的反义词。轻盈的反义词有哪些反义词就是两个意思相反的词,包括:绝对反义词和相对反义词。分为成对的意义相反、互相对立的词。下面是带

学习

描写雪形态的诗句

阅读(106)

本文为您介绍描写雪形态的诗句,内容包括描写雪轻盈的诗句(精选),描写雪的轻盈的诗句是,描写雪的富有诗意的诗句。描写雪轻盈的诗句(精选50句)在日常学习、工作或生活中,大家都收藏过令自己印象深刻的诗句吧,诗句以强烈的节奏、美妙的韵律、精

学习

形容舞步轻盈飘逸的诗词

阅读(127)

本文为您介绍形容舞步轻盈飘逸的诗词,内容包括形容轻盈舞姿的诗词,形容舞姿轻盈美妙的诗句,形容欢快舞姿的诗句。形容轻盈舞姿的诗词忽如间水袖甩将开来,衣袖舞动,似有无数花瓣飘飘荡荡的'凌空而下,飘摇曳曳,一瓣瓣,牵着一缕缕的沉香。展现绝

学习

推荐算法的利弊作文

阅读(109)

本文为您介绍推荐算法的利弊作文,内容包括我们的算法作文(通用),算法的利弊作文800字,关于算法的作文。我们的算法作文(通用23篇)在日复一日的学习、工作或生活中,大家都写过作文吧,借助作文人们可以反映客观事物、表达思想感情、传递知识信息

学习

小学数学巧妙的速算8种方法

阅读(100)

本文为您介绍小学数学巧妙的速算8种方法,内容包括小学数学运算法则,小学数学运算法则和计算公式,小学数学运算法则题目。小学数学运算法则小学数学是通过教材,教小朋友们关于数的认识,四则运算,图形和长度的计算公式,单位转换一系列的知识,为

学习

年绩效考核工资计算方法

阅读(146)

本文为您介绍年绩效考核工资计算方法,内容包括绩效考核工资算法是什么,绩效考核工资算法,绩效考核的工资计算方法。绩效考核工资算法是什么绩效,是一种管理学概念,指成绩与成效的综合,是一定时期内的工作行为、方式、结果及其产生的客观影

学习

存字开头的成语大全集

阅读(115)

本文为您介绍存字开头的成语大全集,内容包括存字开头的成语大全,存开头成语,存字开头的成语有哪些。存字开头的成语大全成语是中国传统文化的一大特色,有固定的结构形式和固定的说法,表示一定的意义,在语句中是作为一个整体来应用的,承担主

学习

带有存字的成语

阅读(92)

本文为您介绍带有存字的成语,内容包括带有存字的成语及解释,第一个字是存字的成语大全,第一个字存成语。带有存字的成语及解释成语(chéngyǔ,idioms)是汉语词汇中定型的词。成语,众人皆说,成之于语,故成语。在我们日常生活中会经常用到成语,你

学习

守善的散文

阅读(108)

本文为您介绍守善的散文,内容包括存善散文(精选)。存善散文(精选11篇)在日常生活或是工作学习中,大家都不可避免的会接触到散文吧?散文不讲究音韵,不讲究排比,没有任何的束缚及限制。你知道怎么才能写好散文吗?下面是整理的存善散文,欢迎阅读与收

学习

志当存高远的座右铭是

阅读(97)

本文为您介绍志当存高远的座右铭是,内容包括志当存高远的座右铭,志当存高远的座右铭句子,志当存高远的座右铭是哪两句。志当存高远的座右铭座右铭是指人们激励、警戒、提醒自己,作为行动指南的格言。亦指古人写出来放在座位右边的格言。

学习

算法和程序设计教学

阅读(133)

本文为您介绍算法和程序设计教学,内容包括算法与程序设计的教案,算法的基本思想第二课时教案,算法与程序设计教案。算法与程序设计的教案作为一位杰出的教职工,时常需要编写教案,编写教案有利于我们弄通教材内容,进而选择科学、恰当的教学

学习

小学数学简便算法最全方法归类

阅读(125)

本文为您介绍小学数学简便算法最全方法归类,内容包括小学数学简便算法,小学数学简便算法教学,小学数学简便算法及技巧。小学数学简便算法小学数学中,除了运用运算定律及和、差、积商的变化规律进行简便运算之外,常见的简便运算方法还有

学习

大雁归来教学设计教案

阅读(102)

本文为您介绍大雁归来教学设计教案,内容包括大雁归来教学设计,大雁归来教学设计课堂实录,大雁归来教学设计一等奖。大雁归来教学设计作为一名无私奉献的老师,总不可避免地需要编写教学设计,借助教学设计可以让教学工作更加有效地进行。那

学习

奋斗成就梦想观看的心得

阅读(92)

本文为您介绍奋斗成就梦想观看的心得,内容包括奋斗成就梦想的观看心得范文(精选),奋斗成就梦想观后感怎么写,奋斗成就梦想观后感90字。奋斗成就梦想的观看心得范文在平日里,心中难免会有一些新的想法,可以将其记录在心得体会中,通过写心得体

学习

人性的弱点读书心得体会

阅读(105)

本文为您介绍人性的弱点读书心得体会,内容包括人性的弱点读书心得(精选),人性的弱点读书总结,人性的弱点第二章节感悟。人性的弱点读书心得(精选8篇)当阅读完一本名著后,相信大家都增长了不少见闻,记录下来很重要哦,一起来写一篇读书心得吧。那

学习

孩子们你们好800字读书心得体会

阅读(115)

本文为您介绍孩子们你们好800字读书心得体会,内容包括读《孩子们你们好》有感(精选),孩子们你们好读后感,孩子们你们好第二章读后感。读《孩子们你们好》有感(精选5篇)当细细品完一本名著后,大家心中一定是萌生了不少心得体会,是时候写一篇读

学习

怎样做个好员工心得体会3篇

阅读(122)

本文为您介绍怎样做个好员工心得体会3篇,内容包括怎样做个好员工心得体会(精选),员工个人生活方面总结简短,怎样做个好员工的工作心得体会。怎样做个好员工心得体会(精选5篇)当我们经过反思,有了新的启发时,不如来好好地做个总结,写一篇心得体

学习

磨砺心志的六项精进心得体会

阅读(138)

本文为您介绍磨砺心志的六项精进心得体会,内容包括磨砺心志的六项精进读后感范文(精选),磨炼灵魂提升心志读后感,磨砺心志的六项精进读后感带案例。磨砺心志的六项精进读后感范文(精选7篇)认真读完一本名著后,你心中有什么感想呢?现在就让我们