雜湊簡單滴說就是把字串str 轉換成 一組數字,該組數字是唯一的 ,哎喲,太難說了,lol開了,詳細見**,下面給出**實現:
#這裡我測試的字串是以前三位字母,最後一位數字為例,例如:
#bcd3、nhj4、gbd0……
lis =
[0 for i in range(26*26*26*10)
]# 用於儲存得到的雜湊值
print(
"輸入長度:"
)n = int(input(
))# 輸入n個字串
print(
"輸入長度:"
)m = int(input(
))# 輸入m個字串
#用hash_string函式實現雜湊,這裡說明一下,將字串中的字母視為乙個26進製數
#然後把字串中的字母(前三位)轉換成十進位制數,最後一位數字用ord()函式轉換為int
#型別,並新增到前三位中,返回得到的雜湊值
def hash_string(stri):
j = 0
sum= 0 for z in range(len(stri)-2, -1, -1):
sum=sum + (ord(stri[z]
)-ord(
'a'))*pow(26, j)
j += 1
sum= sum*10 + ord(stri[len(stri)-1]
)return
sum#############################################
print(
"請輸入n個字串,以'enter'結束"
)for i in range(n):
string = input()id
= hash_string(string)
lis[id] += 1
#############################################
print(
"輸入待查詢的m個字串:"
)for i in range(m):
string = input(
)find
= hash_string(string)
print(
"該字串在上述字數串出現的次數為:"
C 雜湊查詢演算法簡單實現
示例 主要使用雜湊表的摺疊法,其實只要懂原理,其實都好辦這種 標頭檔案部分 include stdafx.h 雜湊結果 enum hash result type 構建類似map的結構體 不使用std自帶的方法 struct map class batch int m index 當前位置 map ...
python實現順序查詢和雜湊查詢
順序查詢非常簡單,只是個開胃菜,今天主要練習的是雜湊查詢 先上順序查詢 def sequence search array,num for i in range len array if array i num return i return false array 0 23 43,12 54,65...
python實現順序查詢和雜湊查詢
順序查詢非常簡單,只是個開胃菜,今天主要練習的是雜湊查詢 先上順序查詢 def sequence search array,num for i in range len array if array i num return i return false array 0 23,43,12,54,65...