【Leecode】哈希表&指针

282 阅读1分钟

Leecode刷题——哈希表&指针

哈希表

定义

hash函数就是根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表
在这里插入图片描述

为啥需要哈希表

在数组a中寻找1-10是否在数组中,需要扫描10次,每次都要比较n次 每个元素遍历一遍数组,时间复杂度 O ( n 2 ) O(n^2) O(n2)

最简单哈希表

利用数组下标来记录元素是否出现,是最简单的哈希思想
在这里插入图片描述

哈希做最简单的排序

先统计每个数值出现与否,出现将table表++(桶排序),之后遍历table,逐个输出,复杂度为 O ( n ) O(n) O(n),

哈希冲突问题

将哈希如103,3放一个哈希表里,如何解决哈希表的冲突问题,例如线性探测,拉链法都可以解决这个问题

指针

用&获得指针的地址,用*获得

&取地址运算符
*间接运算符,取消引用运算符

声明指针

不同类型指针操作不同类型变量,需要开始将指针初始化

指针的作用

构造数据结构,将不连续的空间连接在一起,数据域和指针域,最后一个节点的地址为空,实现节点的创建、连接和遍历

构造指针的指针

指向指针地址的指针
在这里插入图片描述

参考资料

看动画,5分钟学会最经典的数据结构哈希表,C语言手写实现,不要错
是不是一直搞不懂C语言的指针,看完这个动画,你就全明白了