数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。
数组
数组存储区间是连续的,占用内存严重,故空间复杂度大,但数组的二分查找时间复杂度小,为O(1), 数组的特点是:寻址容易,插入和删除困难
链表
链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N),链表的特点是:寻址困难,插入和删除容易
我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构,答案肯定:哈希表
哈希表
哈希表(Hash table)既满足了数据的查找方便,同时不占用太多的内存空间,同时使用十分方便