博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图解算法(五)
阅读量:6995 次
发布时间:2019-06-27

本文共 563 字,大约阅读时间需要 1 分钟。

散列表

1.散列函数

散列函数是这样的函数,即无论你给它什么数据,他都还给你一个数字。散列函数必须满足一些要求:

  • 它必须是一致的。例如,输入apple得到的是4,那么每次输入apple,得到的都必须是4
  • 它应将不同的输入映射到不同的数字上。

为此,首先创建一个空数组。我们将在这个数组中存储商品的价格。下面来将苹果的价格加入到这个数组中。将apple作为输入交给散列函数,散列函数输出为3,因此我们将苹果的价格存储在数组的索引3处。以此类推,填满整个数组。

假设现在我们需要知道apple的价格,我们无需再数组中查找,只需将apple交给散列函数,输出3,我们直接在数组索引3处就能找到apple的价格。

我们结合散列函数和数组创建了一种被称为散列表的数据结构。数组和链表都被直接映射到内存,但是散列表更复杂,它使用散列函数来确定元素的存储位置。

Python提供了散列表的实现,使用函数dict来创建散列表。

book = dict()book["apple"] = 0.88print bookprint book["apple"]

2.应用案例

 2.1 将散列表用于查找

 2.2  防止重复

 2.3 将散列表用作缓存

 

转载于:https://www.cnblogs.com/winddogg/p/10811729.html

你可能感兴趣的文章
浅谈程序猿的职业规划,看你如何决定自己的未来吧。
查看>>
Swing基础知识
查看>>
奇怪的Visual Studio 2013停止响应问题
查看>>
.NET Framework 4.5 五个很棒的特性
查看>>
SharePoint 2013 图文开发系列之可视化WebPart
查看>>
java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器
查看>>
HP ILO2 使用详细教程
查看>>
UIWebview打开.txt文件中文乱码解决
查看>>
UIWebView加载ANSI格式的txt文件出现乱码问题解决
查看>>
Titanium开发环境搭建第三个坑
查看>>
高等代数教材及学习指导书的推荐
查看>>
javascript 数组去重 unique
查看>>
完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错
查看>>
[家里蹲大学数学杂志]第237期Euler公式的美
查看>>
android Animation 动画效果介绍
查看>>
java获取对象属性类型、属性名称、属性值
查看>>
C语言中的可变参数函数 三个点“…”printf( const char* format, ...)
查看>>
念念不忘,ASP.NET MVC显示WebForm网页或UserControl控件
查看>>
对datatable操作,查询
查看>>
积累的VC编程小技巧之打印相关
查看>>