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