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

电子商务网站建设与维护试卷答案wordpress 缺省目录

电子商务网站建设与维护试卷答案,wordpress 缺省目录,网站建设兼职招聘,济宁网站建设哪家便宜哈希表#xff08;Hash Table#xff09;#xff0c;也叫散列表#xff0c;是一种根据关键码值#xff08;Key value#xff09;而直接进行访问的数据结构。 一、基本原理 哈希函数 哈希表通过一个特定的哈希函数#xff0c;将关键码映射到表中的一个位置。这个位置通常…哈希表Hash Table也叫散列表是一种根据关键码值Key value而直接进行访问的数据结构。 一、基本原理 哈希函数 哈希表通过一个特定的哈希函数将关键码映射到表中的一个位置。这个位置通常称为哈希地址或索引。例如对于一个整数关键码可以使用简单的取余函数作为哈希函数将关键码对哈希表的大小取余得到对应的哈希地址。 冲突解决 由于不同的关键码可能会映射到相同的哈希地址这就会产生冲突。解决冲突的方法有多种常见的有开放寻址法和链地址法。开放寻址法当发生冲突时通过探测哈希表中的其他位置来寻找空闲位置。例如线性探测就是依次检查下一个位置直到找到空闲位置。链地址法将哈希地址相同的元素存储在一个链表中。当查找元素时先通过哈希函数计算出哈希地址然后在对应的链表中进行查找。 二、特点和优势 快速查找 哈希表能够在平均情况下以接近常数时间的复杂度进行查找、插入和删除操作效率非常高。只要哈希函数设计合理能够将关键码均匀地分布在哈希表中就可以快速定位到元素的位置。 灵活性 可以存储不同类型的关键码和值只要能够为这些关键码定义合适的哈希函数。适用于各种数据结构和算法中如数据库索引、编译器符号表、缓存等。 三、应用场景 数据库索引 在数据库中哈希表可以用于快速查找特定的数据行。通过将表中的关键列作为关键码经过哈希函数计算得到哈希地址然后将数据存储在对应的位置。这样在查询时可以快速定位到数据所在的位置提高查询效率。 缓存 缓存系统通常使用哈希表来存储已经访问过的数据以便下次访问时能够快速获取。当需要访问某个数据时先计算其哈希地址然后在哈希表中查找。如果找到则直接返回缓存中的数据如果没有找到则从数据源获取数据并存储到缓存中。 编译器符号表 在编译器中符号表用于存储程序中的变量、函数等标识符的信息。哈希表可以作为符号表的实现方式通过将标识符作为关键码快速查找其对应的类型、作用域等信息。 以存储通讯录为例  #ifndef __HASH_H__ #define __HASH_H__#define HASH_SIZE 27 //26个字母表数量以及符号typedef struct per //数据结构体 {char name[32];char tel[32]; }hsdatatype;typedef struct hsnode //结构体类型 {hsdatatype data;struct hsnode *pnext; }hsnode_t;int insert_hashtable(hsdatatype data); void hashtable_array(); void destroy_hash();#endif #include hash.h #include stdio.h #include stdlib.h #include string.hhsnode_t *hashtable[HASH_SIZE] {NULL};int hash_func(char key) //哈希函数 {if(key a key z){return key - a;}else if(key A key Z){return key - A;}else{return HASH_SIZE - 1;} }int insert_hashtable(hsdatatype data) //插入数据以哈希键值插入 {int addr hash_func(data.name[0]);hsnode_t *p (hsnode_t *)malloc(sizeof(hsnode_t));if(!p)return -1;p-data data;p-pnext NULL;/*if(!hashtable[addr])hashtable[addr] p;else {while(hashtable[addr]-pnext !strcmp(hashtable[addr]-data.name,data.name)){hashtable[addr] hashtable[addr]-pnext;}p-pnext hashtable[addr];hashtable[addr]-pnext p;}*/p-pnext hashtable[addr];hashtable[addr] p;return 0; }void link_array(hsnode_t *p) {while(p){printf(%s %s\n,p-data.name,p-data.tel);p p-pnext;} }void hashtable_array() //遍历哈希表 {int i 0;while(i HASH_SIZE){/*while(hashtable[i]){//printf(%s %s\n,hashtable[i]-data.name,hashtable[i]-data.tel);//hashtable[i] hashtable[i]-pnext;link_array(hashtable[i]);}*/link_array(hashtable[i]);i;} }hsnode_t *find_hash(char *name) //通过名字在哈希表中查找数据返回地址 {int addr hash_func(name[0]);hsnode_t *p hashtable[addr];while(p){if(!strcmp(name,p-data.name)){return p;}p p-pnext;}return NULL; }void destroy_link(hsnode_t *p) //销毁链表 {while(p){hsnode_t *q p;p p-pnext;free(q);} }void destroy_hash() //销毁哈希表 {int i 0;while(i HASH_SIZE){destroy_link(hashtable[i]);i;} }
http://www.hkea.cn/news/14344097/

相关文章:

  • 临沂专业做网站安徽观元建设有限公司网站
  • 网站会员体系方案青海百度关键词seo
  • 保定网站优化招聘wordpress单选框
  • 滁州网站设计重庆平台网站建设工作
  • 新年祝福语在线制作网站做门户网站cms
  • 宏信网络网站建设国家电网交流建设分公司网站
  • seo网站快速wordpress编辑远程图片
  • 网站建设任职图片网站建设
  • 阿里巴巴跟建设网站的区别保定网站设计多少钱
  • 怎么看网站文章的收录上海软件培训网站建设
  • 电子商务网站预算深圳网页设计兴田德润放心
  • 丰县建设局规划局网站零食网页制作素材
  • 什么是网站建设从哪些方面建设网站办公室设计布局
  • 新公司 做网站 流程人力资源网站建设
  • 深圳网站制作比较好公司毕业设计做网站要求
  • 宁波网站建设风格做网站需要买空间么 服务器
  • 浙江舟山建设厅网站惠阳营销网站制作
  • 移动网站 案例棋牌源码交易商城
  • 国外网站平台有哪些网站建设大作业选题
  • 网站用哪个做新网站备案查询
  • 图片分页网站模板品牌营销咨询公司
  • 漳州电脑网站建设消防公司宣传册设计样本
  • 做商城网站建设wordpress 即时通迅
  • 3g微网站是什么网站备案幕布申请
  • php网站开发预算文档wordpress局部刷新
  • 出色的网站遵义市汇川区建设厅网站
  • 山东网站备案 论坛深圳比较好的设计工作室
  • 网站开发怎么找客户行业网站的特点
  • 南昌高端网站建设深圳新闻最新消息今天
  • 做网站哪里便宜自己使用原生php做网站性能