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

建筑设计人才招聘网站网站拒绝了您的访问

建筑设计人才招聘网站,网站拒绝了您的访问,巴彦淖尔网站制作,一般淘宝网站做几个月赚钱简介#xff1a;每一趟选择最小或最大的一个#xff0c;排在前面或后面。主要右简单选择排序和堆排序 一、简单选择排序 1.1简介#xff1a; 每趟选择最小的#xff0c;放在前面#xff0c;一次类推#xff0c;代码思想#xff1a;两个循环#xff0c;外循环是趟数每一趟选择最小或最大的一个排在前面或后面。主要右简单选择排序和堆排序 一、简单选择排序 1.1简介 每趟选择最小的放在前面一次类推代码思想两个循环外循环是趟数内循环是选择最小下标最后进行交换值达到排序的目的。 时间复杂度O() 空间复杂度O(1) 稳定性不稳定交换时可能与另一个关键字相同的位置发生改变 适用性顺序表链表都可以 比较次数与初始序列无关基数排序、简单选择排序折半插入排序 1.2代码 #include stdio.h void swap(int *a,int *b) {int temp(*a);(*a)(*b);(*b)temp; } void SelectSort(int *a,int n) {int i,j;for(i0;in-1;i)//趟数 {int mini;for(ji1;jn;j)//查找本趟中最小的一个位置更新min {if(a[j]a[min])minj;}//如果min跟开始不同则交换位置 if(min!i) swap(a[min],a[i]);} } int main() {int a[6]{5,6,8,9,1,2};SelectSort(a,6);PrintSort(a,6);return 0;} 二、堆排序 1.1简介 堆分为大根堆和小根堆。大根堆为逻辑上是个二叉树给一维数组按层次遍历弄成二叉树然后大根堆是每个子树的根都比左右孩子大。同理小根堆每个子树的根都比左右孩子小。 1.1.1.大小根堆堆排序 堆调整即从最后一个非叶子结点开始自下而上自右而左以非叶子结点为根在其树中找最大的作为根然后调整最后调整到整个树的根后再整体看是否需要再调整最后所有的根都是其所在树的最大结点为止。给最大值沉底。初始化调整完就给第一个元素和最后一个元素互换此时给最大值换到了最后面下次再大根堆调整就不带上这个最大值了每次调整完互换后长度减1个。 1.1.2.根堆的插入和删除 插入的新元素要放在表尾然后再根据大根堆或小根堆原则进行堆调整即可。 在堆中删除元素直接删除然后用堆尾的元素补到删除位置处随后再根据大根堆或小根堆原则进行堆调整即可。 1.1.3.性能 时间复杂度O() 空间复杂度O(1) 稳定性不稳定可能给后面相同关键字调整到前面相对位置发生改变 选择性遇到选出前多少个元素的算法选择堆排序最优。 1.2代码 1.2.1.初始化大根堆代码 //整体大根堆初始化 void BulidMaxHeap(int *a,int len) {int i;for(ilen/2;i0;--i)//从最后一个非叶子结点开始依次往前遍历每次遍历的时候进行堆调整 {HeadAdjust(a,i,len); } } //大根堆调整 void HeadAdjust(int *a,int k,int len) {a[0]a[k];//a[0]存储原来k的值 int i;for(i2*k;ilen;ii*2)//判断以k为根的两个孩子谁打 {if(ilen a[i]a[i1])i;//为了防止原a[k]乱跑拿a[0]进行比较if(a[0]a[i]) break; //让根与孩子比较如果根大于孩子则符合大根堆 else//不符合的话 {a[k]a[i];//让大的孩子赋值给根覆盖掉 ki; //然后给原根的坐标挪到孩子处 } } a[k]a[0];//原根的坐标挪到孩子处进入第二轮循环ii*2,新的堆看是否符合大根堆 } 1.2.2.大根堆排序 void HeadSort(int *a,int len) {BulidMaxHeap(a,len);//初始化大根堆//排序int i;for(ilen;i0;--i){swap(a[1],a[i]);HeadAdjust(a,1,i-1);//交换后最大值沉底再进行大根堆调整时不需要计算最后一个了所以长度为i-1 } 1.3.总代码   #include stdio.h //打印大根堆从下标1打印0处为哨兵存储原二叉树根的值 void PrintSort(int *a,int n) {int i;for(i1;in;i){printf(%d ,a[i]);}printf(\n); } //交换 void swap(int *a,int *b) {int temp(*a);(*a)(*b);(*b)temp; } //堆排序 //整体大根堆初始化 void BulidMaxHeap(int *a,int len) {int i;for(ilen/2;i0;--i)//从最后一个非叶子结点开始依次往前遍历每次遍历的时候进行堆调整 {HeadAdjust(a,i,len); } } //大根堆调整 void HeadAdjust(int *a,int k,int len) {a[0]a[k];//a[0]存储原来k的值 int i;for(i2*k;ilen;ii*2)//判断以k为根的两个孩子谁打 {if(ilen a[i]a[i1])i;//为了防止原a[k]乱跑拿a[0]进行比较if(a[0]a[i]) break; //让根与孩子比较如果根大于孩子则符合大根堆 else//不符合的话 {a[k]a[i];//让大的孩子赋值给根覆盖掉 ki; //然后给原根的坐标挪到孩子处 } } a[k]a[0];//原根的坐标挪到孩子处进入第二轮循环ii*2,新的堆看是否符合大根堆 } void HeadSort(int *a,int len) {BulidMaxHeap(a,len);//初始化大根堆//排序int i;for(ilen;i0;--i){swap(a[1],a[i]);HeadAdjust(a,1,i-1);//每次排序排一个随后以1为根的二叉树进行堆调整 } } int main() {int a[9]{0,53,45,87,32,17,65,78,9};HeadSort(a,8);//数组和有效数据PrintSort(a,9);//数组和数组长度return 0;}
http://www.dnsts.com.cn/news/37137.html

相关文章:

  • 自己可以建设一个网站要钱怎么做一个微信公众号
  • 海报在线制作网站建网站怎么样才能流畅
  • 创意设计师个人网站企业网络营销策划
  • 福州网站建站建设南宁市建设工程信息网
  • 门户网站系统架构我的页面设计
  • 空间网站大全购物网站建设价位
  • 网站建设公司哪家专业关键词优化举例
  • 昆明微信网站建设wordpress设置多域名多站点
  • 做网站赚钱全攻略平面设计发展前景
  • 甘肃省临夏州建设局网站工作室装修
  • 外贸网站做哪些语言浙江省住房和城乡建设行业网站
  • 湛江论坛建站模板销售管理系统哪种好一点
  • 哈尔滨模板建站定制网站产品网站建设方案
  • 做慕课的网站dw网页制作模板下载
  • 做网站费免图片网站seo店铺描述
  • 企业营销网站建设系统比较多人用什么网站做推广
  • 网站备案所需资料去哪里弄Wordpress
  • 手机网站注册深圳工程建设交易中心网
  • 西安网站建设制作专业公司宣城网站建设
  • 河南企业网站定制企业管理10大系统
  • 网站设计遵循的原则上海技术做网站
  • 网站调用谷歌地图有赞微商城怎么收费
  • 安全认证的机票网站成就怎么做互联网公司设计
  • 接做名片的网站建立soho公司网站
  • 销售的产品是帮别人做网站网站显示正在建设中
  • 插画师培训网站建设程序员培训机构有哪些
  • 快设计网站官网互联网高端官网
  • 支付集成文件放在网站哪里wordpress安装服务器
  • 做视频有赚钱的网站有哪些深圳软件开发培训机构
  • Asp.net网站开发分析amp 网站开发