课程设计_基于VC或VS的应用程序文档36页
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
四难点与收获对我来说,该程序设计的难度比较大,其主要难点有以下几点设计的知识范围广,由于数据结构学得不是很好,所以很多算法只是知半解,虽然能够理解,但要是自己去实现,不去查找和参考相关的资料,几乎是很难按时完成任务二代码没有好的设计理念和层次,完成时警告非常多,有时候感觉这有点打击人的信心三部分算法只是知其然,而不知所以然,没有完全掌握。
比如,该程序所以的实现代码中只有邻接矩阵和邻接表存储结构的定义,四种图的创建和显示是自己完成的,其他的算法只是修改了下,自己敲上去的。
还有图的邻接矩阵有相应的较为完善的出错机制,输入和多余的输入并不会引起程序死机,限于时间关系,图的邻接存储结构只有简单的出错机制。
我的主要收获有以下几点调试。
这是我收获最大的部分之。
不管你解决问题的方案写的多完善,不管你的实现过程写的多么详细,如果程序调试不过关,切都是白搭。
尤其是超过行的代码,如果你不懂得调试,那么你的程序将会漏洞百出,甚至不知道错在何处。
编程模块。
超过行的代码最好放在另个头文件中,用包含在主程序中,避免主程序过于臃肿,也可以做成编程模块,还提高了程序的重用率。
和头文件。
在输入过程中,如果不小心多输入了其他的字符,很可能让执行程序终止执行,可以只提取要输入的那部分字符,将多余的输入舍弃。
五实现代码下面依次有以下几个文件。
图的基本操作及应用无向图的基本操作及应用无向网的基本操作及应用有向图的基本操作及应用有向网的基本操作及应用退出进行深度优先遍历的输出进行广度优先遍历的输出重新输入,无向网的基本操作及应用创建无向网的邻接矩阵创建无向网的邻接表算法求最小生成树算法求最小生成树退出,重新输入,邻接点序号边或狐上的权顶点信息指向下个边结点定义栈类型初始化栈,判断栈空否,把数据压入栈判断栈没有满,删除栈顶元素创建队列的数据结构类型,初始化个队列,各元素都至空,在队尾插入元素为队列的个新元素删除的队头元素,并用返回把整个队列置空无向图的基本操作及应用起点序号,终点序号创建的邻接矩阵为邻接矩阵创建完毕,起点序号,终点序号,插入顶点的邻接表中插入顶点的邻接表中图的邻接表表示如下,∧,从顶点出发深度优先搜索对个图进行深度优先搜索,把顶点设为队头获取下个未被访问的邻接节点当向下移动直到到以该顶点为头的单链表的尾部才跳出循环把入队继续沿着单链表找无向网的基本操作及应用无向网的邻接矩阵建立起点序号,终点序号及权
