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

如何做学校的网站怀仁建设局网站

如何做学校的网站,怀仁建设局网站,电商网站平台有哪些功能模块,在网站上保存网址怎么做哈希表#xff1a; 哈希表#xff08;Hash table#xff09;#xff0c;也被称为散列表#xff0c;是一种根据关键码值#xff08;Key value#xff09;而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录#xff0c;以加快查找的速度。这个映射…哈希表 哈希表Hash table也被称为散列表是一种根据关键码值Key value而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录以加快查找的速度。这个映射函数被称为散列函数或哈希函数而存放记录的数组则被称为散列表或哈希表。 哈希表的优点 查找速度快哈希表通过哈希函数直接定位到数组中的位置因此查找速度非常快时间复杂度接近O(1)。插入和删除操作方便由于哈希表是基于数组实现的因此插入和删除操作也相对简单。空间利用率高哈希表通过哈希函数将关键码值映射到有限的数组空间中可以高效地利用存储空间。 哈希表的缺点 冲突问题不同的关键码值可能通过哈希函数得到相同的哈希值即产生冲突。解决冲突的方法有多种如开放寻址法、链地址法等。哈希函数的选择哈希函数的选择对哈希表的性能有很大影响。一个好的哈希函数应该能够均匀地分布哈希值减少冲突的发生。动态扩容问题当哈希表中的元素数量增加到一定程度时可能需要进行动态扩容以维持性能。扩容操作会涉及到数据的重新哈希和存储可能会带来一定的性能开销。 #include hash.h #include stdio.h #include stdlib.h #include string.hHSNode_t *hashtable[HASH_SIZE] {NULL};int hash_function(char key) //哈希表函数 {if (key akeyz){return key - a;}else if(key Akey Z){return key - A;}else{return HASH_SIZE-1;} }int intsert_hashtable(HSDataType data)//向哈希表添加元素 {int addr hash_function(data.name[0]);HSNode_t *pnode (HSNode_t*)malloc(sizeof(HSNode_t));if(pnode NULL){perror(malloc fail);return 0;}pnode-data data;pnode - pnext NULL;if(hashtable[addr] NULL){hashtable[addr] pnode;return 0;}pnode -pnext hashtable[addr]-pnext;hashtable[addr]-pnext pnode;return 0; }HSNode_t *find_hashtable(char *name)//查找 {int addr hash_function(name[0]);HSNode_t *p hashtable[addr];while(p ! NULL){if(!strncmp(p-data.name,name,strlen(name))){break;}p p-pnext;}return p; }void print_hashtable()//打印哈希表 {int i 0;for( i 0 ; iHASH_SIZE;i){HSNode_t *p hashtable[i];while( p! NULL){printf(%s,%s\n,p-data.name,p-data.tel);p p-pnext;}}return ; }void destroy_hashtable()//销毁哈希表 {for (int i 0;i HASH_SIZE;i){while(hashtable[i] ! NULL){HSNode_t *p hashtable[i];hashtable[i] p-pnext;free (p);}} }算法 排序 选择排序法 基本思想 第1次从待排序的数据元素中选出最小或最大的一个元素存放在序列的起始位置然后          再从剩余的元素中选择最小或最大的元素然后放到已排序的序列的末尾。以此类推            直到全部待排序的数据元素排完。 时间复杂度O(n^2) 稳定性不稳定 代码 ​ int main(void) {int a[] {1,2,4,3,6,7,8,5,9,0};int len sizeof(a) / sizeof(a[0]);int i,j;for(i 0;i len -1;i){for(j i 1;j len;j){if(a[i] a[j]){int t;t a[i];a[i] a[j];a[j] t;}}} }​ 插入排序法 基本思想 是将一个记录插入到已经排好序的有序表中从而得到一个新的、记录数增加1的有序表。在          整个排序过程中我们反复地将一个记录插入到前面已排好序的序列中直到全部记录插入            完成排序也就结束了。 时间复杂度O(n^2) 稳定性不稳定 代码 ​ ​ int main(void) {int a[] {1,4,5,6,2,8,3,7,9,0};int len sizeof(a) / sizeof(a[0]);int i;for(i 1; i len;i){int j;int t a[i];j i;while(j 0 a[j - 1]t){a[j] a[j - 1];--j;}a[j] t;}return 0; }​​ 冒泡排序法 基本思想 通过重复地遍历要排序的数列一次比较两个元素如果它们的顺序错误就把它们交换过              来。遍历数列的工作是重复地进行直到没有再需要交换也就是说该数列已经排序完成。 时间复杂度O(n^2) 稳定性稳定 代码 int main(void) {int a[] {1,4,5,6,2,8,3,7,9,0};int len sizeof(a) / sizeof(a[0]);int i,j;for(j len - 1;j 0;--j){for(i 0;i j;i){if(a[i] a[i 1]){int t;t a[i];a[i] a[i 1];a[i 1] t;}}}return 0; }​ 快速排序法 基本思想 通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分            的所有数据都要小然后再按此方法对这两部分数据分别进行快速排序整个排序过程可以            递归进行以此达到整个数据变成有序序列。 时间复杂度O(n log n) 稳定性不稳定 代码 #include stdio.hvoid print_array(int *a,int len) {for(int i 0;i len ;i){printf(%d,,a[i]);}printf(\n); }void quick_sort(int *a,int begin ,int end) {int i begin;int j end;int key a[i];if(i j){return ;}while(i j){while(ij a[j] key){--j;}a[i] a[j];while(i j a[i] key){i;}a[j] a[i];}a[i] key;quick_sort(a,begin,i-1);quick_sort(a,i1,end); }int main(int argc, char *argv[]) {int a[] {1,-1,3,2,4,-5,6,-7,8,9}; int len sizeof(a)/sizeof(a[0]);quick_sort(a,0,len-1);print_array(a,len);return 0; }
http://www.dnsts.com.cn/news/267310.html

相关文章:

  • 最牛网站建设是谁建设网站账号密码不区分大小写
  • 简洁企业网站模板深圳龙华区邮政编码多少
  • 网站建设渠道网络游戏开发培训
  • 阜宁县住房城乡建设局网站无锡网站制作联系方式
  • 网站微信推广方案网站建设客户告知书
  • 一流的邯郸网站建设wordpress博客人物插件
  • 怎样设计卖奖的网站2345网址大全最新版下载
  • 培训课程网站建设网站中文章内图片做超链接
  • 爱站工具包手机版培训网页
  • 怎么给一个花店做网站建设做网站和做app哪个更难
  • 美食门户网站源码wordpress静态化缓存
  • 多城市二手车网站源码seo点击工具
  • 鹤壁集团网站建设gps建站步骤
  • 衡水建网站费用陕西省汉中市城乡建设网站
  • 没有版权可以做视频网站吗wordpress应用主题免费下载
  • 销售网站内容设计方案网站空间已到期 请尽快续费开通
  • 网站技术制作购物网站建设公司
  • 有哪些网站可以做推广包包山丹做网站的公司
  • 江苏省现代化示范校建设网站百度指数怎么看
  • 深圳市门户网站建设品牌广告创意设计作品
  • 网站建设去哪里找客户图文视频怎么制作
  • 电子商务网站手机网站
  • 用jsp做婚纱网站的流程网站设计概念
  • 建站之星切换模板如皋网站建设公司
  • jsp做就业网站怎么做网站开发的方案
  • 网站分几个类型做头像的网站自己的名字
  • 网站建设信息发布音乐app界面设计
  • 如何做领券网站宁波网页设计在宁勤区
  • 网站建设维护培训门户网站盈利
  • 浙江网站建设cms重庆开县网站建设公司推荐