IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 利用哈希来解决问题 -> 正文阅读

[数据结构与算法]利用哈希来解决问题

在力扣题解中,我们经常能够看到哈希的身影。今天,让我们一起来探寻哈希的算法思路吧。

目录

一.原理

二.解决问题

1.排序

2.数据间的对照检索

?三.优缺点


一.原理

通俗来说,哈希就是开辟一串空间,给他们分别定上不同的标记,然后把需解决的数据按对应标记放入指定的空间中。只需要检索空间内有无数据,就能依据空间标记来使用对应的数据。

比如有一串数字:3 5 1 6?0 4?2 7 1 ?3 8 8?1?0 5

最大为8,最小为0,我们可以开辟9个空间,将数据中对应的数字作为下标来寻找指定空间,找到的就让空间值加一。

首先初始化空间值都是0。

000000000
下标012345678

?

然后将数据作为下标进行检索对应空间,检索到的空间值加一。

以 3 为例,那么就是下标为 3 的空间值加一。

000100000
下标012345678

依次将所有数据检索。

231212112
下标012345678

二.解决问题

这样做出来的哈希表能够解决很多的问题。

1.排序

我们通过空间的值就可以清楚排序中有无该数据,该数据有多少。

比如上图中下标为0的空间值为2,就说明数值为0的数据一共有2个。

所以,对于排序而言,我们只需要对照空间值确定数量来依次打印下标即可。

2.数据间的对照检索

有些问题可能需要我们将数据互相对照检索。简单数据还好,如果一旦数据复杂或者对照起来非常麻烦,就极有可能会使问题解决起来异常艰难。这时,用哈希表来解决可能会大大降低解题难度。

这里我们用题来举例,具体思路小编已经为大家写好一篇博客:力扣题解-单词替换

?

如果哪里不明白可随时私信小编,我会尽全力为大家解答的。

当然,这里再为大家准备一道类似的题目:30. 串联所有单词的子串 - 力扣(LeetCode)

?具体的解题思路小编会在之后的博客中更新的。

?三.优缺点

哈希表最大的优点就是直观和快速

哈希的时间复杂度通常为O(n)

尤其对于排序来说,O(n)的时间复杂度是非常恐怖的。因为快排也只有O(n * log^n)。

但对应的,哈希最大的缺点是空间复杂度高。这取决于数据的范围大小。

所以,哈希是一种用空间来换时间的算法。


生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya

如有错误,敬请斧正

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:48:39  更:2022-07-17 16:51:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:13:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码