最短路由计算
(一)课题内容要求用C或C++模拟最短路由计算过程。INTERNET中通过路由器在多个网络中进行数据报的转发,在研究路由问题的时候,可以把每一个路由器、局域网或者广域网都抽象为一个结点,每条链路则用带有方向的边表示,边上的权值表示相邻结点的代价值。于是可以根据最短路径算法得出最佳的路由表。通过该课题全面熟悉数组、链表、文件的使用,掌握程序设计的基本方法及友好界面的设计。
(二)课题要求
课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求。
(1) 将设计的网络拓扑图以简单友好的方式输入,并能够判断这些输入是否符合拓扑的要求;
在路由选择算法中都要用到求最短路径的算法。最著名的最短路径算法有DIJKSTRA算法。这两种算法思路不同,但得出的结果是相同的。实现的算法可以参照《数据结构》中的相关章节的算法。
(2) 计算出每个结点的最短路径,并且输出结果。
(3) 程序操作友好、界面美观。
2. 扩展要求。
(1) 设计好的结构,实现从文件读取拓扑数据,并将计算结果保存;
(2) 考虑算法的复杂度问题,尽量减少算法实现的计算量。
怎么做啊?大一的,实在不懂啊!帮我同学问的,求解!!!