演算法 雜湊Python

2021-10-08 17:19:47 字數 1133 閱讀 6138

常見的資料查詢演算法:

順序查詢、二分查詢、深度優先遍歷、廣度優先遍歷、雜湊查詢

雜湊查詢演算法由於其查詢速度快,查詢、插入刪除操作簡單等原因被廣泛使用。

衝突:多個關鍵字對映到同乙個值的現象。

例子:查詢兩個數的和

nums = [3, 5, 4, 7, 10]

target = 11

def twosum(nums, target): //雙指標方法

res =

newnums = nums[:]

newnums.sort()

left = 0

right = len(newnums)-1

while left < right:

if newnums[left] + newnums[right] == target:

for i in range(0, len(nums)):

if nums[i] == newnums[left]:

break

for i in range(len(nums)-1, -1, -1):

if nums[i] == newnums[right]:

break

res.sort()

break

elif newnums[left] + newnums[right] < target:

left = left + 1

elif newnums[left] + newnums[right] > target:

right = right -1

return (res[0]+1, res[1]+1)

def twosum2(num, target) : #雜湊方法

dict = {}

for i in range(len(nums)):

m = nums[i]

if target - m in dict:

return (dict[target-m]+1, i+1)

dict[m] = i

print(twosum(nums, target))

print(twosum2(nums,target))

python演算法 雜湊表

今天我們來學習一下python語法中的雜湊表 雜湊表最有用的基本資料結構之一 雜湊函式 雜湊函式是將輸入對映到數字雜湊函式輸出的數字是沒什麼規律的,但是它必須滿足一定的要求 1.它必須是一致的每次輸入相同時,得到的也必須都相同 2.它將不同的輸入對映到不同的數字 我們能在雜湊表中準確的找到儲存的位置...

Python演算法系列 雜湊演算法

四 總結 雜湊演算法又稱雜湊函式演算法,是一種查詢演算法。就是把一些複雜的資料通過某種對映關係。對映成更容易查詢的方式,但這種對映關係可能會發生多個關鍵字對映到同一位址的現象,我們稱之為衝突。在這種情況下,我們需要對關鍵字進行二次或更多次處理。出這種情況外,雜湊演算法可以實現在常數時間內儲存和查詢這...

演算法入門 雜湊表 python實現

該內容來自 演算法 一書,只是對書的內容做一些記錄。我們使用雜湊函式將給定鍵轉化為乙個 陣列的索引 理想情況下,不同的key會被轉為不同的索引。關鍵碼和儲存位置之間的對應函式是雜湊函式,也稱為雜湊函式,hash函式。雜湊表查詢時間為o 1 phone book dict 字典phone book 如...