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语言的指针,看完这个动画,你就全明白了