python查找技术

顺序查找

顺序搜索,一般是查找线性表查找指定元素

方法:从线性表中的第一个元素开始与要查找的元素一一对比查找,如果相等则查找成功,不相等则查找失败

顺序查找优缺点:

缺点:平均查找长度较大,效率较低

优点:算法简单,适应面广

使用情况:

        线性表为无序列表

        表采用链式存储结构

二分法查找

折半查找,要求是有序表(顺序存储)

查找表中间的哪个元素,如果左边的数小于查找的元素,则会在右边查找,如果还没未找到,则会又去查找右边部分的中间数,然后再进行比较

使用情况:

        顺序存储的有序表

         长度为n的有序线性表,最坏情况只需比较log2的n次方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
哈希查找是一种通过哈希函数将键映射到存储位置的查找技术。在Python中,可以使用字典(dict)数据结构来实现哈希查找。字典是一种无序的键值对集合,其中每个键都是独一无二的。 在哈希查找中,首先需要定义一个哈希函数,它将输入的键映射到一个固定大小的数组索引。常见的哈希函数有取余法、乘法哈希法等。然后,使用哈希函数计算键的哈希值,并将该值作为索引在数组中查找对应的值。 下面是一个示例代码,演示了如何使用哈希查找: ```python # 创建一个包含学生信息的字典 students = { 1001: "Alice", 1002: "Bob", 1003: "Charlie", 1004: "David", 1005: "Eve" } # 定义哈希函数,这里简单地将键除以10取余 def hash_func(key): return key % 10 # 哈希查找函数 def hash_search(key, hash_table): index = hash_func(key) if index in hash_table: return hash_table[index] else: return None # 使用哈希查找函数查找学生信息 student_id = 1003 result = hash_search(student_id, students) if result: print(f"Student with ID {student_id} is {result}") else: print(f"Student with ID {student_id} not found") ``` 在上面的示例中,我们定义了一个包含学生信息的字典,并使用哈希函数将学生的ID映射到一个索引。然后,通过调用`hash_search`函数,传入要查找的学生ID和字典,即可查找到对应的学生姓名。 需要注意的是,在哈希查找中,哈希函数的设计很重要。一个好的哈希函数能够将键均匀地映射到不同的数组索引,避免冲突和碰撞,提高查找效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值