没有合适的资源?快使用搜索试试~ 我知道了~
学习算法的心得体会.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 189 浏览量
2023-03-22
20:07:19
上传
评论
收藏 75KB DOCX 举报
温馨提示
试读
51页
。
资源推荐
资源详情
资源评论
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
学习算法的心得体会
篇一:算法学习心得
班级:物联 1201 姓名:刘潇 学号:29
一、实验内容:
这学期的算法与设计课,老师布置了这四个问题,分别
是货郎担问题,动态生成二维数
组,对话框下拉列表,排序问题。
二、学习掌握:
基本程序描述:
(1)货郎担问题:货郎担问题属于易于描述但难于解
决的著名难题之一,至今世界上还
有不少人在研究它。货郎担问题要从图 g 的所有周游路
线中求取具有最小成本的周游路线,
而由始点出发的周游路线一共有(n 一 1)!条,即等于
除始结点外的 n 一 1 个结点的排列数,
因此货郎担问题是一个排列问题。货郎担的程序实现了
利用穷举法解决货郎担问题,可以在
城市个数和各地费用给定的情况下利用穷举法逐一计
算出每一条路线的费用,并从中选出费
用最小的路线。从而求出问题的解
(2)费用矩阵:费用矩阵的主要内容是动态生成二维
数组。首先由键盘输入自然数,费
1文档收集于互联网,如有不妥请联系删除.
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
用矩阵的元素由随机数产生,并取整,把生成的矩阵存
放在二维数组中,最后把矩阵内容输
出到文件和屏幕上。它采用分支界限法,分支限界法的
基本思想是对包含具有约束条件的最
优化问题的所有可行解的解(数目有限)空间进行搜索。
该算法在具体执行时,把全部可行
的解空间不断分割为越来越小的子集,并为每个子集内
的解计算一个下界或上界。动态生成
二维 n*n 的数组程序利用指针表示数组的行和列,并逐
一分配空间,在输入 n 的数值后,系
统自动分配空间,生成 n*n 的数组,并产生随机数填充
数组,最后将结果输入到指定文件中。
三.疑问与总结:
货郎担的问题,我认为穷举法相对比而言是比较初级的
方法,费时耗力,适合在练习时
选用,但是在实际问题中不建议采用。克鲁斯卡尔或者
普里姆算法求取最小生成树的方法来
解决货郎担的问题是更适合现实解决问题的。我认为程
序可以用 switch 函数来将函数分成几
个部分更人性化,比如分为解决问题的的选项,输出结
果选项,退出程序选项等。再有就是
费用矩阵的值可以从文件中读取,而结果也可以直接放
2文档收集于互联网,如有不妥请联系删除.
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
在指定文件中,这样在实际应用中比
较广泛。
动态生成二维数组的程序我认为如果按照规范性,我的
方法是中规中矩的,毕竟再向下
延伸,生成三维的数组,需要三层的指针来实现。但是
就程序的简化程度和计算机处理时间
来说,我认为这样双层指针的算法有些太占用内存,毕
竟要给行和列各分配 n 个空间。我通
过与同学的交流,我发现可以用 1 位数组来实现二维的
n*n 的数组。首先分配 n*n 的空间,然后通过循环在一行的
数据达到 n 时自动换行。这样程序得到了一定的简化,并且
减少
了一定的内存使用。我认为这种方法是比较贴合实际的。
四.心得体会
在计算机软件专业中,算法分析与设计是一门非常重要
的课程,很多人为它如痴如醉。
很多问题的解决,程序的编写都要依赖它,在软件还是
面向过程的阶段,就有程序=算法+数
据结构这个公式。算法的学习对于培养一个人的逻辑思
维能力是有极大帮助的,它可以培养
我们养成思考分析问题,解决问题的能力。如果一个算
法有缺陷,或不适合某个问题,执行这个算法将不会解决这
3文档收集于互联网,如有不妥请联系删除.
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
个问题。不同的
算法可能用不同的时间、空间或效率来完成同样的任务。
一个算法的优劣可以用空间复杂性
和时间复杂度来衡量。算法可以使用自然语言、伪代码、
流程图等多种不同的方法来描述。
计算机系统中的操作系统、语言编译系统、数据库管理
系统以及各种各样的计算机应用系统
中的软件,都必须使用具体的算法来实现。算法设计与
分析是计算机科学与技术的一个核心
问题。因此,学习算法无疑会增强自己的竞争力,提高
自己的修为,为自己增彩。篇二:算
算法学习心得:
算法这个词是在我在大学第一次 c 语言课上听到的,当
时老师讲的是程序=算法+数据结
构,算法是一个程序的灵魂。当时我什么也不懂,不知
道什么叫数据结构,什么叫算法,它
们是干什么的我也不明白。然而经历了大学四年的学习,
现在的我对算法有了一个较为清晰
的认识,对于它的作用也有了深刻的体会。所谓算法简
单来说就是指解题方案的准确而完整的描述,是一系列解决
问题的清晰指令,
也就是说算法告诉计算机怎么做,以此来解决问题。同
4文档收集于互联网,如有不妥请联系删除.
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
一个问题存在多种算法来解决它,但
是这些算法存在着优劣之分,好的算法速度快,效率高,
占用空间小,差的算法不仅复杂难
懂,而且效率低,对机器要求还高,当然,有时候算法
之间存在一种互补关系,有些算法效
率高,节省时间,但浪费空间,另外一些算法可能速度
上慢些,但是空间比较节约,这时候
我们就应该根据实际要求,和具体情况来采取相应的算
法来解决问题。这学期算法课上我们主要讲了七部分内容.
第一章主要讲的是算法的基本概念,算法时间复杂度分
析,算法的渐近时间复杂度等内
容。因为算法之间的比较就是通过时间复杂度和空间复
杂度来来比较的,第一章的主要目的
就是让我们学会去分析一个算法的复杂度,以后就可以
通过对复杂度的分析来评价算法的好
坏。
第二章讲的是分治法,任何一个可以用计算机求解的问
题所需的计算时间都与其规模有
关。问题的规模越小,越容易直接求解,解题所需的计
算时间也越少,分治法的设计思想就
是,将一个难以直接解决的大问题,分割成一些规模较
小的相同问题,以便各个击破,分而
5文档收集于互联网,如有不妥请联系删除.
剩余50页未读,继续阅读
资源评论
若♡
- 粉丝: 6196
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功