算法入门之散列(《算法笔记》)

捡个重点先

  • 散列
  • 字符串hash初步

散列

【散列】
将元素通过一个函数转换成整数,且使该整数可以尽量唯一地代表这个元素。
【常用散列函数】
(1)直接定址法:恒等变换(把输入的数作地址下标)或线性变换
(2)平方取中法
(3)除留余数法(除数最好是素数)
【冲突】
多个元素的哈希值相同
解决冲突:
(1)线性探查法
(2)平方探查法
(3)链地址法(拉链法)

字符串hash初步

这里只讨论字符串转换成唯一的整数,核心代码是:

hash = hash*26 + (str[i]-'A'); //相当于将二十六进制转换成十进制

你可能感兴趣的:(算法笔记,算法,hash,散列)