二叉樹的遍歷及其用途

以前說過了多叉樹,實現了前序遍歷和後序遍歷,可是多叉樹是沒有中序遍歷了算法

以前由於一直沒想到中序遍歷的用途,因此忽略掉了,今天繼續看數據結構和算法這本書數據庫

裏面說到了.中序遍歷,能夠用來作表達式樹,在編譯器底層實現的時候用戶很,能夠實現基本的加減乘除數據結構

好比 a*b+c,很是有意思數據結構和算法

前序遍歷用來實現目錄結構的顯示學習

後序遍歷能夠用來實現計算目錄內的文件,佔用的數據大小~很是有用資源

學以至用,知道一個算法的用途才能夠更好的學習他,更願意深刻學習這個算法編譯器

二叉樹的定義和遍歷相對簡單,這裏就不作具體的實現了,固然有時間也會寫一下,無非是左子樹和右子樹,比多叉樹的實現簡單多了io

可是即使是二叉樹,最複雜的仍是刪除了,這裏特別說明一下,就像書中所說的,爲了減小算法的運行時間,在一些狀況下,實際上對於刪除操做一個好的辦法就是作一下標記,並非真實刪除,這種方法叫作懶惰刪除(英文:lazy deletion),其實在實際的數據庫操做中咱們也常常用這種方法,由於刪除確實是消耗資源比較大的操做,在數據庫操做中也會使之後的查詢變慢編譯

相關文章
相關標籤/搜索