簡單的雜湊函式求值

2021-08-15 13:23:43 字數 776 閱讀 8777

今天晚上的程式依然比較簡單,是將乙個元組雜湊函式的值輸出

不過這個元組的值根據輸入而定,但是我沒有採取迴圈的方法,先定義乙個列表,再把元素依次新增進這個列表中,而是直接用了乙個型別轉換+切片的方式將輸入的字串切片後然後轉換成整型,接著再強制型別轉換成列表型別。

雜湊函式資料結構中有講過,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.對輸入的資料比較...