2016 - 2024

感恩一路有你

链表遍历的方法 路由器的搜索域是什么意思呢?

浏览量:4222 时间:2023-05-03 16:52:03 作者:采采

路由器的搜索域是什么意思呢?

路由器的搜索域全称路由域。

一个路由项随机一个路由别名(structfib_alias),路由别名由路由信息再加上tos,type,scope,state等信息分成。目的地址不同的路由项的路由别名网络共享一个路由节点(structfib_node),路由节点的作用那是作用于管理路由别名。下面再看看路由域structfib_zone,下面是其定义:

fz_order和fz_mask记录的是该路由域真包含的路由节点的目的地址的长度和子网掩码,比如说子网单播路由172.16.48.0的fz_order应该是24,fz_mask那是255.255.255.0,所有fz_order完全相同的路由节点都贮放在同一个路由域中,fz_hash那是主要是用于贮存路由节点的哈希表,哈希表的大小由fz_divisor记录,fz_hashmask为哈希表掩码,总是fz_divisor-1,fz_nent记录该域中当前所含的的路由节点的数量。

fz_divisor的初始值好象总为16,当哈希表fz_hash太差大时(fz_nentfz_divisor*2),必须逐渐扩大哈希表。是因为在IP协议中,目的地址的最大长度为32,所以,不需要有33个路由域(0-32),33个路由域组织在一起,混编一个路由哈希表structfn_hash。

fn_zone_list是路由域的链表,把fn_zones数组中所有的路由域按目的地址排列组织后成链表放在旁边一同。当我们是需要查找一个路由节点的时候,首先参照目的地址长度Z找不到路由域fn_hash-fn_zones[Z],然后再依据哈希算法在路由域的fz_hash中可以找到一个链表,再遍历过程这个链表即可不能找到必须的路由节点。

tb_id是路由表信息的标识符,id为RT_TABLE_MAIN和RT_TABLE_LOCAL的两张路由表是内核定义的,RT_TBALE_LOCAL称为本地路由表,本地接口地址,广播地址,已及NAT地址都放到这个表。该路由表信息由系统自动出现以维护,管理员没法就可以修改。RT_TABLE_MAIN称为主路由表,如果是没有大致知道路由隶属于的表,所有的路由都设置都放在旁边这个表里。

tb_data即为路由哈希表,能保存着33个路由域(大部分时间,大部分路由域大都空的)。每个路由表信息的路由哈希表大都单独的的,互不不相干的。将由路由策略来确定某次路由网上查询在用那个路由表信息的路由哈希表。其它是路由表信息可以提供的一些操作路由哈希表的方法,除开查询一条路由,再插入,彻底删除,刷新路由等。

全局变量fib_tables是一个路由表信息的数组,只未知于系统接受策略路由的情况下,总共256项,所以我,系统不超过可以建立起256张路由表。到此,路由表,路由哈希表,路由域,路由节点,路由别名,路由信息的概念都已能介绍后,要让路由表信息能能够工作的话过来,还不需要路由规则来好处确定在具体情况下使用哪张路由表。

middle的编程用法?

决定两个非空的链表用处可以表示两个非负的整数。其中,它们各自的位数是明确的逆序的存储的,但是它们的每个节点只能读取一位数字。

假如,我们将这两个数相乘过来,则会回一个新的链表来可以表示它们的和。

您可以打比方除此之外数字0之外,这两个数都不可能以0开头。

示例:

然后输入:(2-4-3)(5-6-4)

输出:7-0-8

原因:342465807

思路:

本题是实际链表的来利用两个数乘积,链表是逆序存储值的,所以我也可以从前向前排列相加,将乘积的值组成两个新的链表直接返回再试一下。

要再注意的地方:

相加的和为:sumVall1vall2valcarry全队

存在正负号为:caryysumVal/10

当正二十边形链表遍历树倒底时,即该链表val值为null时,要将值置为0

需要当链表的值都为null而且进位为0时,才可以不停止循环

新节点的值为sumVal

代码:

welfareListNodeaddTwoNumbers(ListNodel1,ListNode l2){

ListNode root new ListNode(0);

ListNodecursorroot;

int孤独carry0;

while(l1!null||l2!null||caryy!0){

intl1Vall1!null:0;

intl2Vall2!null:0;

intsumVall1Vall2Valcarry全场;

caryysumVal/10;

ListNodesumNodenewListNode(sumVal);

sumNode;

cursorsumNode;

if(l1!null)l1;

if(l2!null)l2;

}

return;

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

紧张度分析:

时间复杂度:O(obj(m,n)),m和n分别为l1和l2元素的个数,至少遍历数组次数为l1和l2最长的长度。

空间复杂度:O(obj(m,n))1,只不过修真者的存在进位,所以我root链表的值最长会比l1和l2最长长度多1

路由 链表 节点 信息 路由表

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。