各類查找的時間複雜度,ASL成功,不成功。都要體現。數組
首先我認爲學習查找是十分必要的,在這個大數據時代,若是不能利用搜索引擎很快地查找到本身想要的技術資料的話,那麼會很悲劇!特別是面對新技術的時候,因爲資料特別少,就算有,大部分也是英文資料。若是這時候,你查找資料的能力比不上別人的話,頗有可能就會在新一輪的技術競賽中被甩在後面。咱們要跟上時代,就要學習數據的處理和資料的查找技能。這一章的學習,邏輯性很強,讓我受益不淺。從繁瑣到簡單,到時間複雜度一直下降,我以爲技術是不斷完善的過程,我也應該不斷進步。學習
bool IsBST(BinTree T)大數據
{ 若T是空樹則是二叉樹;搜索引擎
中序遍歷該樹獲得的新節點的值必定要大於前一個值,不然返回false;設計
返回true;指針
}blog
部分正確:用了比較簡單的思路,致使有兩個試點不能過,用了老師教的中序遍歷和遞歸一塊兒使用,代碼量也少了,各方面的特殊狀況均可以經過。遞歸
int search(Tree T,int u);索引
int LCA(Tree T,int u,int v)博客
{
若樹爲空或者u或v不在該樹中,error;,
若u或者v就是根節的值,return T->Key;
若u或者v在同一棵子樹上,return T->key;
若u小於T->key 最近共同祖先在左子樹上;
若u大於T->key 最近共同祖先在右子樹上;
}
int search (Tree T,int u)
(
若樹爲空:則不在;
查找該樹:
若找到等值的Key,則u在該樹中;
不然不在;
}
有些狀況沒有考慮到,致使了部分正確
這個超出了個人能力,屬於百度瞭解的題
hash_map,顧名思義,就是利用hash_set存儲結構的寫map映照容器,普通的map用的是紅黑樹存儲結構寫的。元素的檢索時間對比,hash_set近似爲O(1),紅黑樹爲O(logn)。Hash_map的空間開銷要比map 的空間開銷大,尤爲是我用數組模擬指針寫的hash_map。
因此,若是有必要採起映射結構的時候,能用hash_map就別用map。
須要注意的是,hash_map遍歷出來的元素不是有序的。
Hash_map和普通hash_set相比的話,hash_map比hash_set多了一張value表,也就是映射表。
下面是hash_map的模板,和hash_set的模板差很少。