今天晚上的程式依然比較簡單,是將乙個元組雜湊函式的值輸出
不過這個元組的值根據輸入而定,但是我沒有採取迴圈的方法,先定義乙個列表,再把元素依次新增進這個列表中,而是直接用了乙個型別轉換+切片的方式將輸入的字串切片後然後轉換成整型,接著再強制型別轉換成列表型別。
雜湊函式資料結構中有講過,hash函式,一種將任意的輸入對映成固定長度的輸出,是一種壓縮對映。具體的原理我後面再研究,哈哈!下面是我的程式:
#-*-coding:utf-8-*-下面是程式執行結果:#author:yuantian
#date:2018/2/9 22:09
#第一行輸入乙個數n,表示有n個元素
#第二行數輸入n個用空格隔開的數,表示元組的元素
#輸出這個元組的hash返回值
if __name__ ==
'__main__'
:n =
int(input())
s =
list(map(int
,input().split(' ')))
# print(s)
t =
tuple(s)
# print(t)
print(hash(t))
d:\python3.6.4\python.exe "d:/python/python leetcode 程式集/hash.py"
51 2 3 4 5
-1883319094
process finished with exit code 0
簡單的構造雜湊函式
除法雜湊法 最直觀的一種。公式 index value 16 求模其實是通過乙個除法運算得到的,所以叫除法雜湊法。平方雜湊法 求index是非常頻繁,而乘法的運算要比除法來得省時,可以考慮百除法換成乘法和位移操作。公式 index value value 28 value如果很大,value val...
LintCode 簡單 128 雜湊函式
1.問題描述 在資料結構中,雜湊函式是用來將乙個字串 或任何其他型別 轉化為小於雜湊表大小且大於等於零的整數。乙個好的雜湊函式可以盡可能少地產生衝突。一種廣泛使用的雜湊函式演算法是使用數值33,假設任何字串都是基於33的乙個大整數,比如 hashcode abcd ascii a 333 ascii...
雜湊演算法(Hash函式)簡單介紹
雜湊演算法的定義和原理 將任意長度的二進位制值串對映為固定長度的二進位制值串,這個對映的規則,就是雜湊演算法。而通過原始資料對映之後得到的二進位制值串就是雜湊值。設計乙個優秀的雜湊演算法,需要滿足下面幾點要求 a.從雜湊值不能反向推導出原始資料 所以雜湊演算法也叫單向雜湊演算法 b.對輸入的資料比較...