数据结构与算法课程设计 心得体会 学习体会(31)

更新时间:2024-04-09 23:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

合肥学院

计算机科学与技术系

课程设计的心得体会

2009 ~2010 学年第二学期

课专指

业导

班教

程 级 师

数据结构与算法

AOV网的拓扑序列生成

课程设计名称

计算机科学与技术08级2班

王昆仑、张贯虹

2010年6 月

通过这次课程设计我自学了拓扑排序,使我对其排序方法和应用有了更深刻的了解。对于数据结构如何用C语言表述有了更深刻的体会和了解。在用C语言表述数据结构时遇到了不小的困难。总是在编译时错误连篇无法运行,后来通过老师和同学的帮助,问题得到了解决。

从开学时学习数据结构开始,就一直不明白数据结构与C语言的具体区别。通过课程设计我知道了,数据结构是一种思想,一种构架,是编写C语言的前提。有了思想和构架以后,才能编写C语言,最后才是上机运行。

原来一直以为,一个程序写得简单易懂就叫好程序。课程设计以后才知道,一个程序的好坏更重要的还要考虑到它的时间复杂度和空间复杂度。一个好的程序一定要选好结构组成,通过一系列的修改,使之时间复杂度与空间复杂度变到最小。这样才能大大增大机器的工作效率。

在刚开始确定题目时心里还确实是没有什么信心,抱着试试看的态度,先从查阅资料开始。查阅了一些关于拓扑排序的资料以后,心里对程序有了一定的了解,内心窃喜。但在如何实现上遇到了瓶颈。心里实在没什么成型整体思路,就想先从想到的一部分入手写写看。首先把可以想到的程序流程图画出来,让自己对程序需要的模块有一个大体的概念,然后边想边修改。先构建顺序表,于是写出初始化顺序表的模块和删除以及进入顺序表模块。而后考虑到构建图与构建邻接表都是必须用到的,就先将其定义出来待用。然后把录入边数、顶点数和存在边的顶点的函数写出来。在求每个顶点入度数上我遇到了一个很难逾越的障碍,在长时间思考未果的情况下,我不得不求助于一位学长。在学长的耐心教导下,我终于把这个难关攻克了。这样,一个程序的大体轮廓就出现了,但是连接问题与细节问题更是不可忽视的,作出的程序有一点前后不匹配都会在编译时出现错误。我突然感到,这个让我觉得特别酷的职业原来竟是需要如此的细心与如此强的逻辑性。最后是进行编写拓扑排序的程序,此次课程设计的一个新的知识点应用出现了,我仔细阅读了书上关于拓扑排序的内容,借鉴了书上的排序处理方法与过程并加以修改,使之能够与前一些模块相互关联。最后就是主函数的编写,先定义一个图,然后将需要调用的程序按顺序安排一下,最后,一个整体的程序终于在奋斗之下呈现在眼前。现在需要的就是将程序中的小毛病再次修改一下,一些小的功能再加以完善,就可以算修成正果啦,内心的喜悦不言而喻。

最后,基于邻接表的拓扑排序写好之后,我突然有种想再加一个邻接矩阵的想法,想到马上就写,有了前面的经验,我发现邻接矩阵真的很好写,加上上课认真听了老师说的AOV网这一节,发现上手很快,基本没有遇到什么大困难。再弄个小小的菜单,让我们从中选择任何一种进行拓扑排序。这样,真的算大功告成了!

总之,一句话,这次课程设计我最大的体会就是细心和有耐心,只有这样,完美的程序才会属于你,才会向你靠拢!

本文来源:https://www.bwwdw.com/article/ab6r.html

Top