c++實現二叉搜索(排序)樹

對於查找分靜態查找和動態查找。git

靜態查找:在已有的數據中進行查找,查找過程當中不改變查找表中的元素(不插入也不刪除)。github

動態查找:查找過程當中,插入查找表中不存在的元素,或者從中刪除已經存在的元素。spa

1.靜態查找有順序查找和折半查找(二分查找)get

   對於無序的查找表進行順序查找,也就是與查找表中的元素逐一比較;二分查找是對於有序的查找表,設置一個mid分割點。it

2.動態查找爲了保證查找效率和插入刪除效率的提升,提出了二叉搜索樹,可是二叉搜索樹的形狀(也就是深度)隨着數據元素輸入順序不一樣而不肯定,而深度偏偏影響查找效率,爲了提升查找,插入和刪除元素的效率(由於得先查找才能插入刪除),所以引入了平衡二叉樹和紅黑樹效率

 這裏在二叉樹的基礎上實現了二叉搜索樹,只是簡單的創建一顆二叉搜索樹。基礎

代碼見github: https://github.com/liuamin/Binary-tree-and-binary-search-Tree二叉樹

binsearch.h頭文件中搜索

紅黑樹的實如今https://github.com/liuamin/Red_black-Tree/tree/red_black-tree數據

redblack.h中

相關文章
相關標籤/搜索