27、图算法-最短路径应用(路由表)、旅行商问题

本文介绍了路由表的概念,包括路由、网关和SPF路由的工作原理,强调了路由表在计算最短路径中的作用。接着探讨了旅行商问题,一个著名的NP完全问题,其目标是找到访问所有城市并返回起点的最短路径。文章提到了最近邻点法作为解决旅行商问题的一种近似算法,虽然不是最优解,但能有效降低路径长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、路由表
路由:将数据从一个点传输到另一个点(中间会有很多其他点)的决策过程。
网关:节点,负责传播数据段或数据包
路由表:存储互联网的结构信息或拓扑信息,它为每个路由器如何到达网关存储一个条目
SPF路由:最短路径路由,每个路由器都维护有自己的网路图,以便计算自身与其他节点之间的最短路径来更新其路由表。

//paths最短路径生成的数,每个节点包含d 和父节点信息;destination:目的节点 
//paths是头结点到所有节点的最短路径
 int route(LIST_ATTRITIVE *paths, PathVertex *destination, PathVertex **next, int (*match)(const void *key1, const void *key2))
{
    PathVertex *temp, *parent;
    LIST_ELEMENT *element;
    int found = 0;

    //找到目的节点 
    for(element = list_head(paths); element != NULL; element = list_next(element))
    {
        if(match(list_data(element), destination))
        {
            temp = list_data(element);
            parent = ((PathVertex 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值