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

python幾種查找方法

一、線性查找 線性查找是最簡單的查找方法之一,通過逐個比較目標值與列表中的元素,直到找到匹配項或遍歷完整個列表。該方法適用于無序列表。 代碼示例: def linear_search(lst

一、線性查找

線性查找是最簡單的查找方法之一,通過逐個比較目標值與列表中的元素,直到找到匹配項或遍歷完整個列表。該方法適用于無序列表。

代碼示例:

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"目標值在列表中的索引為:{index}")

二、二分查找

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

代碼示例:

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"目標值在列表中的索引為:{index}")

三、哈希查找

哈希查找利用哈希函數將查找鍵映射到一個固定的位置,即哈希表的索引。通過這種映射關系,可以迅速定位到目標值,適用于大數據量的查找。

代碼示例:

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"目標鍵對應的值為:{result}")

四、樹形查找

樹形查找是一種基于樹結構的查找方法,常見的有二叉搜索樹和平衡二叉搜索樹。通過比較目標值與樹節(jié)點的大小關系,可以快速在樹中進行查找操作。

代碼示例:

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"目標值在樹中的節(jié)點為:{}")

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