不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • 数据结构

    • 01.数据结构
    • 02.栈
    • 03.队列
    • 04.链表
    • 05.数组
    • 06.字典
      • 1.1 哈希表
        • 1.1.1 哈希表 (hash tables)
        • 1.1.2 具体操作过程
      • 1.2字典如何存储的呢?
      • 1.3 解决hash冲突
      • 1.4 python字典操作时间复杂度
    • 07.树
    • 08.B+tree
    • 09.hash树
    • 10.红黑树
    • 11.二分查找
    • 12.LowB三人组
    • 13.快排
    • 99.时间复杂度
  • 算法基础

  • 算法题分类

  • 算法
  • 数据结构
xiaonaiqiang
2021-03-04
目录

06.字典

# 01.字典实现原理

# 1.1 哈希表

  • 注:字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是 O(1)

# 1.1.1 哈希表 (hash tables)

  • 1.哈希表(也叫散列表),根据关键值对(Key-value)而直接进行访问的数据结构。

  • 2.它通过把key和value映射到表中一个位置来访问记录,这种查询速度非常快,更新也快。

  • 3.而这个映射函数叫做哈希函数,存放值的数组叫做哈希表。

  • 4.通过把每个对象的关键字k作为自变量,通过一个哈希函数h(k),将k映射到下标h(k)处,并将此对象存储在这个位置。

# 1.1.2 具体操作过程

  • 1.数据添加:

    • 把key通过哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余

    • 取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。

  • 2.数据查询:再次使用哈希函数将key转换为对应的数组下标,并定位到数组的位置获取value。

# 1.2字典如何存储的呢?

  • 1.比如字典{“name”:”zhangsan”,”age”:26},那么他们的字典key为name、age,假如哈希函数h(“name”)=1、h(“age”)=3,

  • 2.那么对应字典的key就会存储在列表对应下标的位置,[None,“zhangsan”,None,26]

# 1.3 解决hash冲突

# 1.4 python字典操作时间复杂度

上次更新: 2024/3/13 15:35:10
05.数组
07.树

← 05.数组 07.树→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式