終於開始寫二叉排序樹。。
如果這裡有個程式,裡面有兩個程式塊,它們是先後順序。
第乙個程式塊執行時間複雜度是o(n)
第二個程式塊執行時間複雜度也是o(n)
我的大腦就會覺得這個程式總的時間複雜度就是=o(n)+o(n)好像很大,,,,
好像其實比起o(n^2)還是小的。。。因為常數係數似乎可以忽略不計。
--------------------------------可能因為我大腦不喜歡複雜的東西,所以 ……
寫二叉排序樹 ,它的作用是查詢,過程是 乙個值乙個值插入建立二叉樹,這樣就順帶排序了,然後查詢,,,可是為什麼不直接在插入時候每乙個節點和key.value比較一下呢,,,建立二叉樹多麻煩,那樣的話似乎和直接用線性表順序查詢 有個p區別。。。順序查詢的時間複雜度是o(n),建立二叉排序樹的時間複雜度是o(nlog2n),然後二叉排序樹查詢是o(log2n)
o(nlog2n)+o(log2n) 怎麼看都比o(n)大的樣子啊。。。。。。。。。
bling bling,繼續寫**。做最簡單的事情
繼續上面兩種比較,乙個人類說如果是一次性的,那就順序查詢,如果多次使用,如果查詢n次,那麼建立二叉排序樹的開銷是一次性的,之後相當於二分查詢。(勉強滿意)
發現乙個很有意思單詞:
malignant adj 惡意的,惡毒的,n懷惡意的人 【英史 】保王黨黨員。歷史果然……
extraction n抽取 開採 提煉
diffusion n傳播 散布
blingbling 二叉排序樹寫完了,遞迴讓人討厭的地方就是它 不是那麼明顯吧隱藏了很多,還有各種邊界。 很多地方看上去明顯但是一不小心糾錯了。
明天寫平衡二叉樹,後天b+ b- 後後天 雜湊表 排序,剩餘時間做完樹題目。
github網為什麼又蜜汁慢了。。。
二叉排序樹的時間複雜度
二叉排序樹又稱二叉查詢樹,它或是一棵空的二叉樹,或是具有下列性質的二叉樹 由上述定義可知,中虛遍歷二叉排序樹可以得到乙個按關鍵碼有序的序列。cpp view plain copy print template struct binode class bisorttree void bisorttre...
二叉排序樹,AVL樹,B樹(多路查詢樹),B 樹
1.定義 對於一顆二叉樹,它的左子樹若不為空,則左子樹上所有結點的值小於它的根結點的值,若右子樹不為空,則右子樹上的所有結點的值大於它的根結點的值。且它的左右子樹也分別為二叉排序樹。2.總結 每個結點的孩子數可以多餘兩個,且每個結點可以儲存多個元素。1.2 3樹 最簡單的b樹 2結點包含乙個元素和兩...
查詢 二叉排序樹
順序查詢 順序查詢又叫線性查詢,是最基本的查詢技術,它的查詢過程是 從表中第乙個記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查的記錄 如果知道最後乙個記錄,其關鍵字和給定值比較都不等時,則表中沒有所查的記錄,查詢不成功。順序查詢演算法實現 如下 順序...