美文网首页
面试知识梳理--php hashtable

面试知识梳理--php hashtable

作者: 展翅鹏飛 | 来源:发表于2021-10-29 11:35 被阅读0次

    仔细回顾一下php的底层数据结构hash table,可以说是PHP语言层面的核心之一;

    所谓的hash在php内使用的是time33算法,DJBX33A (Daniel J. Bernstein, Times 33 with Addition);

    放两个time33算法的文章后续再仔细研究吧(https://www.laruence.com/2009/07/23/994.html,https://www.jianshu.com/p/433d93015467)据说对于字符串的hash运算计算更快,hash结果更平均;

    散列表内部会保存头尾两个元素,保证线性遍历,以及保存头尾节点信息;

    hashtable一定会有hash指冲突的情况,最简单的是将冲突的值也保存一个了链表,碰到hash冲突的元素,将老的节点移动到新的位置,然后新插入的元素链到后面;

    数组的查找过程:1、先根据数据的key计算hash code,然后拿到数组的顺序idx,然后能拿到对应的bucket,然后遍历bucket,判断key相同的的即为数组的值;

    相关文章

      网友评论

          本文标题:面试知识梳理--php hashtable

          本文链接:https://www.haomeiwen.com/subject/vurbaltx.html