比如從10000個從小到大排列且不連續數字裡找出8654
普通方法就是用眼瞅,從左到右
運氣好瞅一次,運氣不好瞅一萬次
於是就有了二分法,取出中間的值
左邊的值一定比中間的值小
右邊的值一定比中間的值大
於是找到8654所用的時間大大縮短
可以把把文字內容/一串字元計算成一串hash值
一串內容---->"hash"演算法---->"hash"值
常用演算法
其實就是在進行"hash"的校驗
⛅密碼加鹽相當於暗號,只有設定者知道
⛅示範:
正常密碼: 123456
加鹽密碼: 派大星123456海綿寶寶
或者: 章1魚2哥3蟹4老5板6
⛅加鹽之後計算出來的"hash"是完全不一樣的
⛅想要撞庫的人就必須要猜到使用的演算法和加的鹽
排序演算法 補充
對於上次學習借鑑到的大師級的排序演算法,感概良多,從演算法執行的效率上來說,quicksort 不考慮普遍的最環情況,它的速隊的確是排序演算法中的佼佼者。這次的學習到的演算法包括了插入排序 直接插入,折半插入,希爾排序 選擇排序 堆排序 都是各有利弊。基本的演算法實現如下,因為遞迴使用的不是很好,同...
查詢演算法 雜湊演算法,雜湊表查詢
那麼問題來了,如果集合s中同時存在值k 16和值k 27,我們該如何將兩個位址一樣的值存入雜湊表呢?常用的雜湊函式 處理衝突的方法 2.連位址法 雜湊表涉及的是一種對映關係,可以根據某個值查詢到關鍵字的位址,這樣的做法省去了比較的時間,優化了演算法。雜湊表是把值 關鍵字 存到跟它具有 唯一 對映的格...
雜湊函式 雜湊函式 演算法
常用字串雜湊函式有bkdrhash,aphash,djbhash,jshash,rshash,sdbmhash,pjwhash,elfhash等等。c 實現 include define m 249997 define m1 1000003 define m2 10000019 大素數 using ...