数据结构与算法课程设计的心得体会之欧拉回路

发布 2020-07-06 17:10:28 阅读 1261

通过本次课程设计,让我对图的概念有了一个新的认识。同时感觉到数学在计算机编程中的中要作用。良好的数学素养可以让问题得到简化,可以让程序变得简单精炼,可以降低程序的空间复杂度和时间复杂度。

本次课程设计的难度不大。首先思路清晰是非常重要的。要解决好题目中的问题首先要将实际问题很好的转化为它的数学模型,然后选择适当的数据结构,再对具体问题进行算法设计,最后编写、调试程序。

思路清晰这样,解决起问题就变的轻松了很多。

同时,熟练的运用转化的思想可以让问题的解决变得简单。我在解决本题时联想到离散数学课本中的欧拉图的定义和一个定理:无向图g是欧拉图当且仅当g是连通图且没有奇度顶点。

根据欧拉图的定义和定理我们就可以把是否存在欧拉回路的问题转化为是否为欧拉图的问题,证明是否为欧拉图即可。这样我们就能很容易的解决问题了。所以,对问题的转化在本题中起到了化难为简的作用。

可见,转化的思想在我们实际解决问题的时候是多么的重要。

多组数据进行多次测试很重要。首先对我们来说调试过程中bug是常见的,面对bug不能心生畏惧,只要我们足够的冷静的分析错误的大概位子处的**,不难找出错误的原因,消除bug。在本次课程设计测试中,一开始在测试第三组数据时,输出结果与实际不符。

仔细分析后发现,记录顶点的度数时当遇到顶点自身的环时,度数会少记录一次,所以在判断是否计数的时候加入了是否含有自身环的判断。含环时则不计数没这样不会对奇偶性的判断带来影响。所以,数据的测试一定要精心选取多组数据进行多次测试,这样才能保证程序的健壮性。

最后要强调的是编程时格式的规范性。通过这次课程设计让我在编程时的格式更加规范。例如,在比较难理解的语句后加上注释。

这样不但方便我们自己调试、修改程序,更可以让其他人在阅读我们的程序时容易快速理解把握我们的编程思路,理解我们程序的每一语句。

在课程设计的过程中巩固和加深了我对数据结构的理解,提高综合运用本课程所学知识的能力。同时也培养了我选用参考书,查阅手册及文献资料的能力。培养了我的独立思考,深入研究,分析问题、解决问题的能力。

通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。

根据我在实习中遇到得问题,我将在以后的学习过程中注意以下几点:1、认真上好专业实验课,多在实践中锻炼自己。2、写程序的过程中要考虑周到,严密。

3、在做设计的时候要有信心,有耐心,切勿浮躁。4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。

总的来说,通过本次课程设计让我对图的数据结构以及图的搜索有了更深的认识,让我对数据结构这门课程有了跟多的了解,同时让我程序的编写更加规范,编程能力和速度有了一定的提高。同时让我感觉到学无止境,我们要抱有一颗虚心好学的心,以谨慎态度对待学习。我们只有不断的学习这样我们才能不被行业淘汰,才能在我们自己的领域里有一席之地。

另外,我们还应不断地提高自己的数学素养,这样才能让我们的程序更加精炼,更加经典。

算法与数据结构课程设计

编号 120 说明书。进销存货物管理系统。学院 计算机科学与工程学院 专业 计算机科学与技术 学生姓名。学号。指导教师。2016年 6 月 26 日。摘要。本课程设计报告系统地阐述了我使用c 编写的进销存货物管理系统。首先,我对系统进行一个简要的概述。然后,我就系统的需求进行了详细的分析,这是设计工...

《算法与数据结构》课程设计

一 约瑟夫问题。1.算法及数据结构。由于约瑟夫问题是将x个人围坐一圈,所以采用单循环链表实现,又由于报数时间可能循环到开始,所以采用不带头结点的循环链表结构。1 在不带头结点的循环链表中查找第y个结点,用p作为第y个节点的指针。2 每一次都是y的倍数的结点出栈,直到循环到最后一个结点为止。2.源程序...

算法与数据结构课程设计报告

福建工程学院软件学院。题目。专业。姓名。学号。同组其他学生 学号。2015年月日。目录。一 需求分析 3 二 总体设计 3 三 详细设计 3 四 调试与测试 3 五 测试结果 3 六 用户手册 3 七 附录 3 描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。二 总体设计。必须包含程序设...