重念一次早該補起來的「資料結構與演算法」。這篇筆記二元搜尋樹 ( Binary Search Tree, BST ) 的搜尋。
課程相關資訊
[連結]:https://hiskio.com/courses/572/lectures/29875
本篇範圍:Chapter 9
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
1. 有兩種方式可以達成:
第一種為 Recursive 的方式 –
A. 如果起始點有符合或是 null,那代表找到了或是最後沒有符合的。
B. 若你要找的值小於當前值,那就往左邊找,否則就往右邊找
第二種為 while loop 的方式:
A. 若當前值不為 null,也和要找的值不吻合,那就判斷大小。如果要找的值比當前的大,那就往右邊找,否則就往左邊找
B. 最後若節點仍然是 null,那表示沒有符合的,不然就回傳找到的節點