鏈表遍歷的方法 路由器的搜索域是什么意思呢?
路由器的搜索域是什么意思呢?路由器的搜索域全稱路由域。一個路由項隨機一個路由別名(structfib_alias),路由別名由路由信息再加上tos,type,scope,state等信息分成。目的地址
路由器的搜索域是什么意思呢?
路由器的搜索域全稱路由域。
一個路由項隨機一個路由別名(structfib_alias),路由別名由路由信息再加上tos,type,scope,state等信息分成。目的地址不同的路由項的路由別名網(wǎng)絡共享一個路由節(jié)點(structfib_node),路由節(jié)點的作用那是作用于管理路由別名。下面再看看路由域structfib_zone,下面是其定義:
fz_order和fz_mask記錄的是該路由域真包含的路由節(jié)點的目的地址的長度和子網(wǎng)掩碼,比如說子網(wǎng)單播路由172.16.48.0的fz_order應該是24,fz_mask那是255.255.255.0,所有fz_order完全相同的路由節(jié)點都貯放在同一個路由域中,fz_hash那是主要是用于貯存路由節(jié)點的哈希表,哈希表的大小由fz_divisor記錄,fz_hashmask為哈希表掩碼,總是fz_divisor-1,fz_nent記錄該域中當前所含的的路由節(jié)點的數(shù)量。
fz_divisor的初始值好象總為16,當哈希表fz_hash太差大時(fz_nentfz_divisor*2),必須逐漸擴大哈希表。是因為在IP協(xié)議中,目的地址的最大長度為32,所以,不需要有33個路由域(0-32),33個路由域組織在一起,混編一個路由哈希表structfn_hash。
fn_zone_list是路由域的鏈表,把fn_zones數(shù)組中所有的路由域按目的地址排列組織后成鏈表放在旁邊一同。當我們是需要查找一個路由節(jié)點的時候,首先參照目的地址長度Z找不到路由域fn_hash-fn_zones[Z],然后再依據(jù)哈希算法在路由域的fz_hash中可以找到一個鏈表,再遍歷過程這個鏈表即可不能找到必須的路由節(jié)點。
tb_id是路由表信息的標識符,id為RT_TABLE_MAIN和RT_TABLE_LOCAL的兩張路由表是內(nèi)核定義的,RT_TBALE_LOCAL稱為本地路由表,本地接口地址,廣播地址,已及NAT地址都放到這個表。該路由表信息由系統(tǒng)自動出現(xiàn)以維護,管理員沒法就可以修改。RT_TABLE_MAIN稱為主路由表,如果是沒有大致知道路由隸屬于的表,所有的路由都設置都放在旁邊這個表里。
tb_data即為路由哈希表,能保存著33個路由域(大部分時間,大部分路由域大都空的)。每個路由表信息的路由哈希表大都單獨的的,互不不相干的。將由路由策略來確定某次路由網(wǎng)上查詢在用那個路由表信息的路由哈希表。其它是路由表信息可以提供的一些操作路由哈希表的方法,除開查詢一條路由,再插入,徹底刪除,刷新路由等。
全局變量fib_tables是一個路由表信息的數(shù)組,只未知于系統(tǒng)接受策略路由的情況下,總共256項,所以我,系統(tǒng)不超過可以建立起256張路由表。到此,路由表,路由哈希表,路由域,路由節(jié)點,路由別名,路由信息的概念都已能介紹后,要讓路由表信息能能夠工作的話過來,還不需要路由規(guī)則來好處確定在具體情況下使用哪張路由表。
middle的編程用法?
決定兩個非空的鏈表用處可以表示兩個非負的整數(shù)。其中,它們各自的位數(shù)是明確的逆序的存儲的,但是它們的每個節(jié)點只能讀取一位數(shù)字。
假如,我們將這兩個數(shù)相乘過來,則會回一個新的鏈表來可以表示它們的和。
您可以打比方除此之外數(shù)字0之外,這兩個數(shù)都不可能以0開頭。
示例:
然后輸入:(2-4-3)(5-6-4)
輸出:7-0-8
原因:342465807
思路:
本題是實際鏈表的來利用兩個數(shù)乘積,鏈表是逆序存儲值的,所以我也可以從前向前排列相加,將乘積的值組成兩個新的鏈表直接返回再試一下。
要再注意的地方:
相加的和為:sumVall1vall2valcarry全隊
存在正負號為:caryysumVal/10
當正二十邊形鏈表遍歷樹倒底時,即該鏈表val值為null時,要將值置為0
需要當鏈表的值都為null而且進位為0時,才可以不停止循環(huán)
新節(jié)點的值為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元素的個數(shù),至少遍歷數(shù)組次數(shù)為l1和l2最長的長度。
空間復雜度:O(obj(m,n))1,只不過修真者的存在進位,所以我root鏈表的值最長會比l1和l2最長長度多1