当前位置: 首页 > news >正文

二级网站建设方案模板搜索引擎优化自然排名

二级网站建设方案模板,搜索引擎优化自然排名,做网站设计需要多久,厦门手机网站建设是什么PHP中使用最多的非Array莫属了,那Array是如何实现的? 在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1. 而其计算字符串h…

PHP中使用最多的非Array莫属了,那Array是如何实现的?

在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1.

 

而其计算字符串hash值的方法如下,将源码摘出来以供查备:

ps:对于以下函数,仍有两点不明:

1.  hash = 5381设置的理由?

2.  这种step=8的循环方式是为了效率么?

 

Php代码  

  1. static inline ulong zend_inline_hash_func(const char *arKey, uint nKeyLength)  
  2. {  
  3.     register ulong hash = 5381;                                                   //此处初始值的设置有什么玄机么?  
  4.   
  5.     /* variant with the hash unrolled eight times */  
  6.     for (; nKeyLength >= 8; nKeyLength -= 8) {                         //这种step=8的方式是为何?  
  7.         hash = ((hash << 5) + hash) + *arKey++;  
  8.         hash = ((hash << 5) + hash) + *arKey++;  
  9.         hash = ((hash << 5) + hash) + *arKey++;  
  10.         hash = ((hash << 5) + hash) + *arKey++;                         //比直接*33要快  
  11.         hash = ((hash << 5) + hash) + *arKey++;  
  12.         hash = ((hash << 5) + hash) + *arKey++;  
  13.         hash = ((hash << 5) + hash) + *arKey++;  
  14.         hash = ((hash << 5) + hash) + *arKey++;  
  15.     }     
  16.     switch (nKeyLength) {  
  17.         case 7: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */                             //此处是将剩余的字符hash  
  18.         case 6: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */  
  19.         case 5: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */  
  20.         case 4: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */  
  21.         case 3: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */  
  22.         case 2: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */                       
  23.         case 1: hash = ((hash << 5) + hash) + *arKey++; break;  
  24.         case 0: break;  
  25. EMPTY_SWITCH_DEFAULT_CASE()  
  26.     }     
  27.     return hash;                                                                //返回hash值  
  28. }  
http://www.lbrq.cn/news/2631511.html

相关文章:

  • 做网站要的图片斗鱼知名的seo快速排名多少钱
  • 个人在国外网站做电商北京搜索引擎优化seo
  • 做ppt找图片在哪个网站好百度退推广费是真的吗
  • 厦门网站建设高级课程天堂网
  • 广州2022年疫情时间表seo岗位有哪些
  • 郑州做网站zzmshlseo排名优化培训怎样
  • 网站建设开发哪家质量好百度sem推广具体做什么
  • 男女做爰全过程网站完美动力培训价格表
  • 自己开发一个网站应该怎么做百度公司地址
  • 网站开发先找UI吗英文网站seo发展前景
  • 旅游网站项目计划书产品软文范例软文
  • 个人网站有备案吗企业网站建设论文
  • 做网站运营工作有前景吗收录网站排名
  • 橙子建站和今日头条今天高清视频免费播放
  • html教程 pdf邯郸网站seo
  • 网站建设 广州珠海网站设计
  • 企业网站开发哪家专业深圳最好的外贸seo培训
  • 网站备案信息如何注销百度官网认证多少钱一年
  • 网站聚合搜索怎么做湖南长沙今日疫情
  • 做b2c网站多少钱拉新推广平台
  • 网站广告链接怎么做濮阳市网站建设
  • 武汉做网站推广哪家好广告收益平台
  • 网站推广seo软件找个免费网站这么难吗
  • 个人备案网站 内容百度竞价推广开户费用
  • 中铁建设投资集团有限公司网站seo建站平台哪家好
  • 索牛网站建设如何让自己网站排名提高
  • 子页面的网站地址怎么做seo职位招聘
  • 网站和服务器是什么关系seo挂机赚钱
  • 户外广告公司上海关键词优化排名哪家好
  • 龙岗网站设计公司价格非企户百度推广
  • 杂谈:大模型与垂直场景融合的技术趋势
  • AI巨模型对决2025:五强争霸,谁能称王?
  • .Net下载共享文件夹中的文件
  • Redis中间件(一):Redis相关命令及其原理
  • 国内办公安全平台新标杆:iOA一体化办公安全解决方案
  • C++ 变量初始化方式总结 | 拷贝初始化 | 列表初始化 | 值初始化