❶ 求兄弟姐妹帮忙啊。1.设计一个变化的长度的IP报文。 2设计路由表数据结构以及查找IP报文路由算法及汉语解释
物理性质——状态、气味、熔点、沸点、硬度、密度、延展性、溶解性、挥发性、导电性、吸附性等。
❷ 迷宫的生成和路由
才给这么点分,桥弊尺你给200分,都敏高不一定有人帮你
不是给你说风凉话,只是给你说句实话,真的,在这里别抱这卜脊么大幻想的
确实需要,而自己又真的不会的话,实在找不到,就去花钱找人帮你吧
❸ c语言实现基于网络编码的无线多跳网络组播路由算法设计
c语言实现网络,我想你是说用VC开放win32的应用程序吧,直接用API函数,不是c语言实现!
它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
1.一个C语言源程序可以由一个或多个源文件组成。 2.每个源文件可由一个或多个函数组成。 3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。 5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。 6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
底下是重点了,C语言不是万能的
1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。 2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。 [C语言指针] 指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性,适合初学者使用。
❹ 6,路由选择有哪些算法
关于路由器如何收集网络的结构信息以及对之进行分析来确定最佳路由,有两裂搏种主要的路由算法:
总体式路由算法和分散式路由算法。采用分散式路由算法时,每个路由器只有与它直接相连的路由器的信息——而没雀凯有网络中的每个路由器的信息。这些算法也被称为dv(距离向量)算法。采用总体式路由算法时,每顷源唤个路由器都拥有网络中所有其他路由器的全部信息以及网络的流量状态。这些算法也被称为ls(链路状态)算法。
❺ 用Matlab/C实现基于Dijkstra的路由选择算法实现
/宽举**************************************************************
* 给悄渣定一个带权有向图G = (V,E),其中每条边的权是一个非负整数。*
* 另外还给定V中的一个顶点,称为源。现在我们要计算从源到所有其 *
* 他各顶点的最短路长度。这里路径长度是路上各边权之和。这个问 *
* 题通常称为单源最短路径问题。 *
***************************************************************/
#include<iostream.h>
#define INFINITE 100
void main()
{
int j,i,n,k,t,**w,*s,*p,*d;
cout<<"input the value of n:";
cin>>n;
cout<<endl;
d = new int[n];
s = new int[n];
p = new int[n];
w = new int*[n];
for(i = 0; i < n; i++)
{
w[i] = new int[n];
}
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
cin>>w[i][j];
for(s[0] = 1,i = 1; i < n; i++)
{
s[i] = 0;
d[i] = w[0][i];
if(d[i] < INFINITE)
p[i]=0;
else
p[i]=-1;
}
for(i = 1; i < n; i++)
{
t = INFINITE;
k = 1;
for(j = 1; j < n; j++)
if((!s[j]) && (d[j] < t))
{
t = d[j];
k = j;
}
s[k]=1;//point k join the S
for (j = 1; j < n; j++)
if((!s[j]) && (d[j] > d[k] + w[k][j]))
{
d[j] = d[k] + w[k][j];
p[j] = k;
}
}
cout<<"启巧悄从源点到其它顶点的最短距离依次如下:";
for(i=1;i<n;i++) cout<<d[i]<<" ";
cout<<endl;
}
/*********
顶点个数用n表示,这里给出的例子n=6
100 1 12 100 100 100
100 100 9 3 100 100
100 100 100 100 5 100
100 100 4 100 13 15
100 100 100 100 100 4
100 100 100 100 100 100
具体例子见 电子工业出版社 《算法设计技巧与分析》148页
************/
❻ 路由的原理算法
路由工作包含两个基本的动作:
1、确定最佳路径
2、通过网络传输信息
在路由的过程中,后者也称为(数据)交换。交换相对来说比较简单,而选择路径很复杂。 metric是路由算法用以确定到达目的地的最佳路径的计量标准,如路径长度。为了帮助选路,路由算法初始化并维护包含路径信息的路由表,路径信息根据使用的路由算法不同而不同。
路由算法根据许多信息来填充路由表。目的/下一跳地址对告知路由器到达该目的最佳方式是把分组发送给代表“下一跳”的路由器,当路由器收到一个分组,它唤世就检查其目标地址,尝试将此地址与其“下一跳”相联系。下表为一个目的/下一跳路由表的例子。路由表还可以包括其它信息。路由表比较metric以确定最佳路径,这些metric根据所用的路由算法而不同。路由器彼此通信,通过交换路由信息维护其路由表,路由更新信息通常包含全部或部分路由表,通过分析来自其它路由器的路由更新信息,该路由器可以建立网络拓扑图。路由器间发送的另一个信息是链接状态广播信息,它通知其它路由器发送者的链接状态,链接信息用于建立完整的拓扑图,使路由器可以确定最佳路径。 交换算法相对而言较简单,对大多数路由协议而言是相同的,多数情况下,某主机决定向另一个主机发送数据,通过某些方法获得路由器的地址后,源主机发送指向该路由器的物理(MAC)地址的数据包,其协议地址是指向目的主机的。
路由器查看了数据包的目的协议地址后,确定是否知道如何转发该包,如果路由器不知道如何转发,通常就将之丢弃。如果路由器知道如何转发,就把目镇链敏的物御枝理地址变成下一跳的物理地址并向之发送。下一跳可能就是最终的目的主机,如果不是,通常为另一个路由器,它将执行同样的步骤。当分组在网络中流动时,它的物理地址在改变,但其协议地址始终不变。
ISO定义了用于描述此过程的分层的术语。在该术语中,没有转发分组能力的网络设备称为端系统(ES--end system),有此能力的称为中介系统(IS--intermediate system)。IS又进一步分成可在路由域内通信的域内IS(intradomain IS)和既可在路由域内又可在域间通信的域间IS(interdomain IS)。路由域通常被认为是统一管理下的一部分网络,遵守特定的一组管理规则,也称为自治系统(autonomous system)。在某些协议中,域内路由协议仍可用于在区间内和区间之间交换数据。
❼ 请教高手网络动态路由选择算法怎么用C/C++实现啊
网络动态路由要用c++实现,第一要有存储路由表的结构,可以用链表来实现
第二,算法,动态路径的选择,最优路径算法。从一个ip到目标ip的最优路径,可以委托从ip到一个中间ip的最优然肉从中间ip的路由表里找到中间ip到目的的最优路径然后结合就ok了
存储路径建议用链表或向量。
这些数据结构都是现成的,楼主所要知道的就是算法问题
最优路径算法,前辈曾经给出过代码,可以参考下面