紅黑樹(六)之 參考資料


 

概要

前面幾章對紅黑樹進行了比較全面的介紹,包括紅黑樹的理論以及C/C++/Java的實現。這部分將我學習紅黑樹期間的一些參考資料和代碼分享出來,供大家參考。

轉載請注明出處:http://www.cnblogs.com/skywang12345/p/3644742.html


更多內容:數據結構與算法系列 目錄

(01) 紅黑樹(一)之 原理和算法詳細介紹
(02) 紅黑樹(二)之 C語言的實現
(03) 紅黑樹(三)之 Linux內核中紅黑樹的經典實現
(04) 紅黑樹(四)之 C++的實現 
(05) 紅黑樹(五)之 Java的實現
(06) 紅黑樹(六)之 參考資料

 

參考說明

在寫紅黑樹這幾篇文章的過程中,參考了許多資料:主要有《算法導論》《數據結構與算法分析-C語言描述》以及網上的一些文章;此外,還參考了"Linux內核中的紅黑樹源碼"、"JDK中的紅黑樹源碼"、"STL中的紅黑樹源碼"。

1. Linux內核中的紅黑樹源碼

        在"紅黑樹(三)之 Linux內核中紅黑樹的經典實現"這篇文章中,我已經將Linux內核中的紅黑樹源碼移植出來了,供大家參考。若你想自己親自研究,可以獲取Linux內核源碼后再進行查閱。
(01) Linux內核源碼下載地址:https://www.kernel.org/
(02) 頭文件路徑:include/linux/rbtree.h
(03) 實現文件路徑:lib/rbtree.c

 

2. JDK中的紅黑樹源碼

        JDK中的紅黑樹在實現TreeMap和TreeSet時有用到。在我以前寫的"Java 集合系列"的"Java 集合系列12之 TreeMap詳細介紹(源碼解析)和使用示例"中有介紹過。如果你想一探究竟,參考查看JDK源碼。
(01) JDK的源碼可以通過解壓"JDK包中的src.zip"獲取。當然,你也可以通過openjdk來查看JDK源碼。
(02) TreeMap的路徑:java/util/TreeMap.java

 

3. STL中的紅黑樹源碼

        這部分我沒有仔細研究。若你感興趣,可以研究之后,再來分享給大家。
(01) ubuntu下STL中紅黑樹的源碼路徑:/usr/include/c++/4.6/ext/pb_ds/detail/rb_tree_map_
        說明:上面是我自己使用的ubuntu(12.04版本)下STL源碼路徑,不同的系統可能略有不同。"/usr/include/c++/4.6/"是g++4.6的路徑,而"ext/pb_ds/detail/rb_tree_map_"則是紅黑樹源碼路徑。
(02) 我將rb_tree_map_中的代碼打包出來,點擊下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM