經過本週對查找運算的學習,系統的深刻了解一些算法和查找方法,例如順序查找,折半查找,希爾排序等; 這些方法能夠幫咱們解決不一樣狀況下的查找,例如在大數據的狀況下,要求要獲得前十個數,快排速度是快,可是 要求只是前十個,不如用堆排。
在一棵樹T中兩個結點u和v的最近公共祖先(LCA),是樹中以u和v爲其後代的深度最大的那個結點。 現給定某二叉搜索樹(BST)中任意兩個結點,要求你找出它們的最近公共祖先。
思路以下: 有兩種狀況:1.u,v不在樹中; 2.u,v在樹中: <1>u,v都在左子樹上; <2>u,v都在右子樹上; <3>u,v一個在左子樹上,一個在右子樹上; <4>u,v有一個在根上。
Q:考慮了是不是根,在根的同一邊,找不到的狀況,兩個數在根的同一邊忘記考慮了
A:後面帶入數據,才知道少了種狀況c++
實現QQ新賬戶申請和老賬戶登錄的簡化版功能。最大挑戰是:聽說如今的QQ號碼已經有10位數了。
這題會map通常就沒問題,編譯錯誤是忘記換成c++
本題要求實現函數,判斷給定二叉樹是否二叉搜索樹。
首先二叉搜索樹,就是: 非空左子樹的全部鍵值小於其根結點的鍵值。 非空右子樹的全部鍵值大於其根結點的鍵值。 左、右子樹都是二叉搜索樹。 因此就按這個考慮
思路明確的話,通常不會有問題,後面多提交的是爲了想找幾個特殊點看看,能不能過
給定n本書的名稱和訂價,本題要求編寫程序,查找並輸出其中訂價最高和最低的書的名稱和訂價
熟悉一些經常使用的算法,這樣解題能夠加快速度