準備面試的時候新認識了一些演算法,把這些演算法記錄下來。
bfprt演算法:
在快排選取pivot值時,pivot取值為:
(1)將輸入陣列的n個元素劃分為n/5組,每組5個元素,且至多只有乙個組由剩下的n%5個元素組成。
(2)尋找n/5個組中每乙個組的中位數,首先對每組的元素進行插入排序,然後從排序過的序列中選出中位數。
(3)對於(2)中找出的n/5個中位數,遞迴進行步驟(1)和(2),直到只剩下乙個數即為這n/5個元素的中位數,找到中位數後就可以把pivot值。
manacher演算法:
要求在字串中找最大回文子串。
步驟,先在兩個相鄰字元中間加『#』,設定id和mx。p[i]標識第i個位置單邊最長回文長度。
當mx>i時,有p[i]>=min(p[2*id-i],mx-i)。可大幅降低時間複雜度。
生命中有某些過程是不容逃避的
有乙個小鐵塊,原本一直過著安逸的日子,有一天,它的主人突然把它給丟到火裡去,它熱的好難過,便向火焰說 火焰大哥,可不可以稍微降低一點您的溫度呢?火焰經不起鐵塊的聲聲喊痛,最後只好答應降低溫度。不久後,鐵塊被人由火堆取出放在鋼板上,開始被鐵鎚一下一下的重重敲打,它又受不了了,於是便再度開口 鐵鎚兄,可...
關於某些人認為的Mysql 儲存過程
我是乙隻斑馬 這篇部落格的 簡單粗暴的認識mysql的儲存過程 sql部分 這裡的儲存過程很好理解,就是將平時寫的一條幾條sql語句封裝成乙個集合,以乙個名稱儲存作為乙個單元來處理.優 因為sql語句的執行需要幾個過程,這裡不仔細介紹,會包含語法檢查和編譯的過程,那麼使用儲存過程就可以將一些已經編譯...
VC 某些筆記
1.強制重新整理介面invalidate updatewindow 一起用。2.progressbar 橫豎屬性是vertical,直接建立是pbs vertical。例子 m progress2.create ws visible pbs vertical,prorect,this,990 3.p...