導航:首頁 > 編程系統 > linux紅黑樹封裝map

linux紅黑樹封裝map

發布時間:2023-03-12 10:30:30

A. 在linux操作系統內核實現里經常使用的紅黑樹

在linux操作系統內核實現里經常使用的紅黑樹如下:

二叉樹,按中序遍歷後為一遞增數組,自平衡意味著樹的高度有一個上限,對於紅黑樹,其為2log(n+1),所以時間復雜度為最差為Olog(n)。

賦予二叉搜索樹自平衡特性的方法有多種,紅黑樹通過一下4條約束實現自平衡:

Every node is either red or black.

All NIL nodes (figure 1) are considered black.

A red node does not have a red child.

Everypathfrom a given node to any of its descendant NIL nodes goes through the same number of black nodes.

其中根節點為黑色。

紅黑樹的搜索與二叉搜索樹無異,但是插入和刪除可能會違背上述四條原則。需要用到左旋右旋操作。左旋右旋上圖,可以看到左旋右旋本身不改變二叉搜索樹的特性,旋轉後必要時改變節點的顏色可消除插入或者刪除帶來的紅沖突和黑沖突,有時紅黑樹的重新平衡需要迭代進行。

紅黑樹比較適合的應用場景:

需要動態插入、刪除、查找的場景,包括但不限於:

某些資料庫的增刪改查,比如select * from xxx where 這類條件檢索。

linux內核中進程通過紅黑樹組織管理,便於快速插入、刪除、查找進程的task_struct。

linux內存中內存的管理:分配和回收。用紅黑樹組織已經分配的內存塊,當應用程序調用free釋放內存的時候,可以根據內存地址在紅黑樹中快速找到目標內存塊。

hashmap中(key,value)增、刪、改查的實現;java 8就採用了RBTree替代鏈表。

Ext3文件系統,通過紅黑樹組織目錄項。

B. 如何使用arm-linux-gcc交叉編譯器生成map文件

方法/步驟

從網上下載arm-linux-gcc 4.4.3的源碼
進入Linux的終端,將當前目錄設為arm-linux-gcc的下載目錄,輸入tar -xzf arm-linux-gcc-4.4.3.tar.gz,將文件解壓,解壓後會有一個opt的文件夾。

在/usr/local/下建立一個名為arm的文件夾,在終端中輸入命令:cd /usr/local/,回車,然後再輸入命令:mkdir arm,建立arm目錄,並修改該文件夾的屬性為rwx,輸入命令:chmod 777 arm

將之前解壓得到的opt文件壓下的源碼,復制到上一步中創建的arm文件夾下,在終端中輸入命令:sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm

到這里已經基本安裝好了,到為了避免每次使用arm-linux-gcc時都要輸入它所在的完整路徑,所以這里我們要修改一下環境變數$PATH。在終端中輸入:sudo gedit /etc/profile,打開profile文件,在最後一行加上「export PATH=$PATH:/usr/local/arm/4.4.3/bin」然後保存文件。

立即使新的環境變數生效,輸入:source /etc/profile。再輸入:echo $PATH查看環境變數,如圖。如果不成功,則直接重新啟動系統,再查看。因為之前我已經安裝過了,為了演示,所以圖中會有兩個/usr/local/arm/4.4.3/bin。

最後檢查是否安裝完成,輸入:arm-linux-gcc -v查看版本信息,如果出現以下信息,則說明安裝成功。

C. java 8 為什麼要採用紅黑樹來管理hashmap

java8不是用紅黑樹來管理hashmap,而是在hash值相同的情況下(且重復數量大於8),用紅黑樹來管理數據。 紅黑樹相當於排序數據。可以自動的使用二分法進行定位。性能較高。
一般情況下,hash值做的比較好的話基本上用不到紅黑樹。

閱讀全文

與linux紅黑樹封裝map相關的資料

熱點內容
專題學習網站源碼 瀏覽:163
jsphead什麼 瀏覽:88
gps串口數據怎麼發送 瀏覽:968
win10文件主頁共享查看 瀏覽:411
中國聯通有哪些app是免流的 瀏覽:176
邊做邊保存的文件找不到了 瀏覽:858
win10照片應用文件夾名稱 瀏覽:966
編程如何解決資金的原子性 瀏覽:638
如何製作廣角鏡頭矯正文件 瀏覽:513
在網頁開發中應該選用哪個資料庫 瀏覽:742
iphone5移動卡貼 瀏覽:990
電腦文件的格式 瀏覽:127
extjs的xtype 瀏覽:959
suse11iso文件要u盤安裝 瀏覽:153
如何將報表統計數據轉化為圖形 瀏覽:444
如何寄快遞材料文件 瀏覽:265
java構造方法private 瀏覽:475
手機文件找回恢復 瀏覽:516
word怎麼把u盤里的文件拔掉 瀏覽:976
港版蘋果用的插排 瀏覽:1000

友情鏈接