首页 > 编程语言 >数据结构与算法之查找

数据结构与算法之查找

时间:2025-01-02 23:01:59浏览次数:8  
标签:index 哈希 tableSize 元素 算法 查找 key 数据结构

查找的概述

1. 查找操作的定义

查找是按照关键字进行的检索。查找表是由同一类型的数据元素构成的集合,关键字是数据元素(或记录)中某个数据项的值,用它可以标识(或识别)一个数据元素。其中,主关键字可以唯一标识一个数据元素,而次关键字则不能。

2. 查找表的四种操作
  1. 查询某个特定的数据元素是否在表中;
  2. 查询某个特定元素的各个属性;
  3. 在查找表中插入一个数据元素;
  4. 从查找表中删除一个数据元素。

3.查找概述

├── 查找定义

│ ├── 查找表:数据元素集合

│ └── 关键字:标识数据元素的值

│ ├── 主关键字:唯一标识

│ └── 次关键字:辅助标识

└── 查找表操作

├── 查询元素存在性

├── 查询元素属性

├── 插入数据元素

└── 删除数据元素

基于线性表的查找

1. 顺序查找

顺序查找适用于任何线性表(无序/有序/顺序表/链表均可)。基本思想是从线性表的一端向另一端逐个将关键码与给定值进行比较,若相等,则查找成功;若整个表检测完仍未找到与给定值相等的关键码,则查找失败。

k = 35
for i in range(len(list)):
    if list[i] == k:
        print(i)
        break
    else:
        print(False)

2. 顺序查找的时间复杂度分析
  • 最大查找长度:n
  • 平均查找长度:(n+1)/2

平均查找长度怎么来的?

  1. 最佳情况:如果我们要找的元素恰好是线性表的第一个元素,那么我们只需要进行一次比较,即查找长度为 1。
  2. 最坏情况:如果我们要找的元素恰好是线性表的最后一个元素,那么我们需要进行

    标签:index,哈希,tableSize,元素,算法,查找,key,数据结构
    From: https://blog.csdn.net/yuange1666/article/details/144874134

相关文章

  • 基于爬山法MPPT最大功率跟踪算法的光伏发电系统simulink建模与仿真
    1.课题概述基于爬山法MPPT最大功率跟踪算法的光伏发电系统simulink建模与仿真。 2.系统仿真结果   3.核心程序与模型版本:MATLAB2022a  4.系统原理简介      最大功率点跟踪(MaximumPowerPointTracking,MPPT)是光伏发电系统中至关重要的技术,用于确......
  • 可持久化数据结构
    可持久化平衡树复习了一下fhq。普通可持久化平衡树和主席树类似地,可持久化数据结构的精髓在于对每次进行次数为\(polylog\)级别的操作进行重开点,以此用尽可能小的时空损耗来保存每次操作完的全树状态。国内常用的可持久化平衡树是fhq,容易想到地,就是将它的split和merge操作进......
  • 数据结构与算法学习笔记----快速幂
    数据结构与算法学习笔记----快速幂@@author:明月清了个风@@firstpublishtime:2025.1.2ps⭐️快速幂的两道模版题,快速幂,乘法逆元,费马小定理Acwing875.快速幂[原题链接](875.快速幂-AcWing题库)给定n......
  • 基于MSWA相继加权平均的交通流量分配算法matlab仿真
    1.程序功能描述基于MSWA相继加权平均的交通流量分配算法matlab仿真.如图所示交通网络中,包含6个节点、11各路段、9个OD对。经枚举可得每个OD对间存在3条无折返有效路径,共27条。 2.测试软件版本以及运行结果展示MATLAB2022A版本运行  3.核心程序ifm==1......
  • GeneticSharp 遗传算法类库
    GeneticSharp是什么GeneticSharp是一个C#的遗传算法类库,遗传算法Java著名的JMetal,Python也有JMetalPy和PyMoo,C#相对差一截,稍微有名的是GeneticSharp库.GeneticSharp的弱点:不支持多目标优化没有实现流行的NSGAII算法,缺少拥挤度等计算,所以解的多样性要差一些......
  • Floyd算法
    关于Floyd算法的优化思路,因为dist[i][j]和dist[j][i]是对称的,在遍历的时候我们可以让k从0开始,i从0到k,j从k到n。在初始化dist的时候我们首先比较两个地点的大小,然后从小的向大的方向修路。最后接收st和ed的时候也是比较大小,从小的向大的出发。#include<stdio.h>#include<s......
  • 数据结构:串
    文章目录串的基本概念串的相关操作串的代码与运行结果串的基本概念1.串长:串的长度(字符个数)称作串长。2.空串:长度为0的字符串。3.主串:包含所有子串的串为主串。4.子串:串中任意连续的字符组成的子序列称为该串的子串。串的相关操作串的操作有生成串,复制串,串连接,......
  • 深入浅出 YOLO 物体检测算法:实战融合注意力机制
    摘要:本文呈上一份超详细的YOLO物体检测算法指南,先深挖其运行与数学原理,助您吃透底层逻辑。接着展开框架实战,从环境搭建、数据集处理,到经典模型的训练、测试,均有实操步骤与代码示例。重点来了,我们还会融入注意力机制,解读原理、设计融合方案并给出完整代码。一文在手,新手能......
  • 【初阶数据结构与算法】排序算法总结篇(每个小节后面有源码)(直接插入、希尔、选择、堆
    文章目录一、直接插入排序二、希尔排序三、直接选择排序四、堆排序五、冒泡排序六、快速排序七、归并排序八、计数排序九、非递归快速排序十、非递归归并排序本篇内容将从稳定性与复杂度等角度分析排序算法,列出它们的特点、优点以及缺点,希望大家有所收获,如果想更加细......
  • 全新OIEROJv2.0评测算法
    \(\texttt{OIEROJv2.0}评测\)更新1.前言由于Hydro提供的沙箱评测机制无法满足OIER试炼场所提供的超大常数、超长时间,时而出现TLE等问题。由于诸如此类的问题频繁发生,更高效、安全的评测机制的开发被提上日程。2.新的调度和新的架构当用户提交评测任务时,任务首先由网页端通过......