卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

python幾種查找方法

一、線性查找 線性查找是最簡(jiǎn)單的查找方法之一,通過(guò)逐個(gè)比較目標(biāo)值與列表中的元素,直到找到匹配項(xiàng)或遍歷完整個(gè)列表。該方法適用于無(wú)序列表。 代碼示例: def linear_search(lst

一、線性查找

線性查找是最簡(jiǎn)單的查找方法之一,通過(guò)逐個(gè)比較目標(biāo)值與列表中的元素,直到找到匹配項(xiàng)或遍歷完整個(gè)列表。該方法適用于無(wú)序列表。

代碼示例:

def linear_search(lst, target):
    for i, num in enumerate(lst):
        if num  target:
            return i
    return -1
# 使用示例
lst  [1, 3, 5, 7, 9]
target  5
index  linear_search(lst, target)
print(f"目標(biāo)值在列表中的索引為:{index}")

二、二分查找

二分查找是一種高效的查找算法,要求查找的列表為有序列表。它通過(guò)不斷將查找范圍縮小一半,直到找到匹配項(xiàng)或確定該項(xiàng)不存在。

代碼示例:

def binary_search(lst, target):
    left  0
    right  len(lst) - 1
    while left < right:
        mid  (left   right) // 2
        if lst[mid]  target:
            return mid
        elif lst[mid] < target:
            left  mid   1
        else:
            right  mid - 1
    return -1
# 使用示例
lst  [1, 3, 5, 7, 9]
target  5
index  binary_search(lst, target)
print(f"目標(biāo)值在列表中的索引為:{index}")

三、哈希查找

哈希查找利用哈希函數(shù)將查找鍵映射到一個(gè)固定的位置,即哈希表的索引。通過(guò)這種映射關(guān)系,可以迅速定位到目標(biāo)值,適用于大數(shù)據(jù)量的查找。

代碼示例:

def hash_search(hash_table, key):
    index  hash_function(key)
    if index in hash_table:
        return hash_table[index]
    else:
        return None
# 使用示例
hash_table  {0: 'Python', 1: 'Java', 2: 'C  '}
key  1
result  hash_search(hash_table, key)
print(f"目標(biāo)鍵對(duì)應(yīng)的值為:{result}")

四、樹(shù)形查找

樹(shù)形查找是一種基于樹(shù)結(jié)構(gòu)的查找方法,常見(jiàn)的有二叉搜索樹(shù)和平衡二叉搜索樹(shù)。通過(guò)比較目標(biāo)值與樹(shù)節(jié)點(diǎn)的大小關(guān)系,可以快速在樹(shù)中進(jìn)行查找操作。

代碼示例:

class TreeNode:
    def __init__(self, val):
          val
        self.left  None
        self.right  None
def insert(root, val):
    if root is None:
        return TreeNode(val)
    if val < 
        root.left  insert(root.left, val)
    else:
        root.right  insert(root.right, val)
    return root
def search(root, target):
    if root is None or   target:
        return root
    if target < 
        return search(root.left, target)
    else:
        return search(root.right, target)
# 使用示例
tree  None
tree  insert(tree, 5)
tree  insert(tree, 3)
tree  insert(tree, 7)
target  3
result  search(tree, target)
print(f"目標(biāo)值在樹(shù)中的節(jié)點(diǎn)為:{}")

通過(guò)本文的介紹,我們了解到Python中常用的幾種查找方法,包括線性查找、二分查找、哈希查找和樹(shù)形查找。每種方法都有其適用場(chǎng)景和特點(diǎn),開(kāi)發(fā)者可以根據(jù)實(shí)際需求選擇合適的查找方法來(lái)提升程序效率。