python實現簡單的雜湊查詢

2021-10-03 02:36:53 字數 1297 閱讀 2373

雜湊簡單滴說就是把字串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...