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

深圳响应式网站建设公司网站推广的作用

深圳响应式网站建设公司,网站推广的作用,客户关系管理概念,手机app软件下载安装1.基本概念哈希表(散列表):提高数据的查找效率哈希存储:将要存储的数据的关键字和存储位置之间,建立起对应的关系, 这个关系称之为哈希函数。存储数据时,通过对应的哈希函数可以将数据映射到指定…

1.基本概念

哈希表(散列表):提高数据的查找效率

哈希存储:将要存储的数据的关键字和存储位置之间,建立起对应的关系,
这个关系称之为哈希函数。存储数据时,通过对应的哈希函数可以将数据映射到指定的存储位置;查找时,仍可通过该函数找到数据的存储位置。

哈希冲突/哈希矛盾: 

key1 != key2

f(key1) == f(key2)

处理哈希冲突的方法:

1)开放地址法:

思想:当发生哈希冲突时,通过探测序列在哈希表中寻找下一个可用的空槽位,直到找到合适的位置插入元素。所有元素都存储在哈希表本身中(无额外数据结构)。

2)链地址法

思想:将哈希表的每个槽位作为链表头节点,冲突的元素直接插入对应槽位的链表中。哈希表本身只存储链表的引用。

2.基本操作

(1)哈希函数

int hash_function(char key)
{if (key >= 'a' && key <= 'z'){return key-'a';}else if (key >= 'A' && key <= 'Z'){return key-'A';}else{return HASH_TABLE_MAX_SIZE-1;}
}

(2)创建一个哈希表

  HSNode_t *hash_table[HASH_TABLE_MAX_SIZE] = {NULL};

(3)插入(有序)

int insert_hash_table(HSNode_t **hash_table, Data_type_t data)
{int addr = hash_function(data.name[0]);//申请结点保存数据//头插//hash_table[addr];   //---->pheadHSNode_t *pnode = malloc(sizeof(HSNode_t));if (NULL == pnode){printf("malloc error\n");return -1;}pnode->data = data;pnode->pnext = NULL;if (NULL == hash_table[addr]){hash_table[addr] = pnode;}else{if (strcmp(pnode->data.name, hash_table[addr]->data.name) <= 0){pnode->pnext = hash_table[addr];hash_table[addr] = pnode;}else{HSNode_t *p = hash_table[addr];while (p->pnext != NULL && (p->pnext->data.name, pnode->data.name) < 0){p = p->pnext;}pnode->pnext = p->pnext;p->pnext = pnode;}}return 0;
}

(4)遍历

void hash_for_each(HSNode_t **hash_table)
{for (int i = 0; i < HASH_TABLE_MAX_SIZE; ++i){HSNode_t *ptmp = hash_table[i];while (ptmp){printf("%s : %s\n", ptmp->data.name, ptmp->data.tel);ptmp = ptmp->pnext;}printf("\n");}
}

(5)查找

HSNode_t *find_hash_table(HSNode_t **hash_table, char *name)
{int addr = hash_function(name[0]);HSNode_t *ptmp = hash_table[addr];while (ptmp){if (0 == strncmp(ptmp->data.name, name, strlen(name))){return ptmp;}ptmp = ptmp->pnext;}return NULL;
}

(6)销毁

void destroy_hash_table(HSNode_t **hash_table)
{for (int i = 0;i < HASH_TABLE_MAX_SIZE; i++){HSNode_t *pdel = hash_table[i];while (hash_table[i] != NULL){hash_table[i] = pdel->pnext;free(pdel);pdel = hash_table[i];}}
}

http://www.dtcms.com/a/595410.html

相关文章:

  • 廉洁文化建设网站网站维护是什么工作
  • 可视化网站建设软件网上购物系统概述
  • 超八成搜索网站存在信息泄露问题网易企业邮箱域名
  • 网站单页制作教程seo基础知识培训视频
  • 大连网站制作诚推ls15227网站建设企业模板
  • 上海专业做网站推广的公司金融理财管理网站源码 dedecms
  • 德国域名申请网站建设银行官网学生交费网站
  • 如何自己创造网站justnews wordpress
  • wordpress查询标签seo运营招聘
  • 网站开发中的网页上传和网站发布电池外贸一般在哪些网站做
  • 什么样的企业需要做网站国家网站icp备案查询
  • 东莞樟木头网站建设公司四川建设网证书查询平台官网
  • 建设企业网站的保险网
  • 营销型网站策划 ppt110平方装修全包价格
  • 网站建设价格标准信息中小企业商务网站建设
  • 地图网站怎么做网站备案密码使用
  • 南通医院网站建设方案最新远程网站建设服务
  • 怎么做企业网站优化需要多少钱前端自己做博客网站
  • 幻灯网站源码网站开发备案认证
  • 专业的网站制作公司地址德兴网站seo
  • 十大高端网站定制设计师查企业免费查询
  • 高端网站建设 司法高端网站源码
  • 唐山建设个网站不能用于制作网页的软件
  • 动易 手机网站建设部政务网站建设
  • 国外网站打开很慢100个成功营销案例
  • 红色扁平化网站网站推广计划机构
  • 电子商务实网站的建设课件百度一下首页百度
  • 南京企业网站设计制作去哪里找需要推广的app
  • jsp做的网站源码佛山网站设计联系方式
  • 代做论文的网站有哪些好的WordPress 图标字体