一个演示算法过程的网站:https://visualgo.net/ch

 

散列表解决冲突:

  • 开放定址法:二次探测,随机探测
  • 再散列函数法:冲突后在用一个不同的hash算法,算出另个hash值。
  • 链地址法:拉链一样,每个桶开一个链表
  • 公共溢出区法:新开一个溢出表

有冲突时是如何查找的呢?如果把一个地方给删了,那岂不是中断了后边的查找了吗?

举个例子:5 4 3 2 1,如果把3删掉变成了5 4 null 2 1, 再查1:5->4->null 这时就返回了没有,显然不行,所以删除3并非删除,而是把3置为一个标记del,查到del时不会中断!!

 基数排序:

https://www.bilibili.com/video/BV1wa4y177rX?from=search&seid=1934076919732278132