数组 链表 散列(hash)

来源:互联网 发布:淘宝助理中通大头笔 编辑:程序博客网 时间:2024/06/05 02:18

hash 哈希, 散列

当我们对数据进行处理的时候, 需要快速查找 ,删除,增加。

在我们学习 c 语言基础的的时候, 接触到了 数组和链表:

我们知道
数组 查找起来 相比较容易一些,但是做 删除和增加的时候比较困难。
数组在内存中是 存储连续一整块的内存。
这里写图片描述

链表 很容易实现做删除和增加。
链表 不需要连续的一整块内存。但是因为 有一个指针指向 下一个数据,需要的内存相比数组更多一些

这里写图片描述

那么这个时候,我们需要很快的查找和删除增加怎么办。
这个时候,介绍一种 新的数据结构: hash 发音 哈希, 名称:散列

可以 理解为 数组和链表的结合体。 但是相比数组和链表 他的时间复杂度降低了 但是 空间复杂度升高了。

这里写图片描述

我们知道, 在算法与数据结构中,我们应该明白一个道理: 时间复杂度和空间复杂度是一对矛盾点。

0 0
原创粉丝点击