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

网站建设有哪些需要注意的关键细节网站上哪个做相片书好

网站建设有哪些需要注意的关键细节,网站上哪个做相片书好,万网网站设计,网站开发开题报告格式文章目录 1. 引言2. 快速排序算法2.1 传统快速排序2.2 三者取中法 3. 实验内容3.1 实验题目#xff08;一#xff09;输入要求#xff08;二#xff09;输出要求 3.2 算法实现 4. 实验结果 1. 引言 快速排序是一种经典的排序算法#xff0c;其核心思想是通过选择一个基准元… 文章目录 1. 引言2. 快速排序算法2.1 传统快速排序2.2 三者取中法 3. 实验内容3.1 实验题目一输入要求二输出要求 3.2 算法实现 4. 实验结果 1. 引言 快速排序是一种经典的排序算法其核心思想是通过选择一个基准元素将数组分为两个部分左边的元素小于基准右边的元素大于基准然后对左右两部分递归地进行排序。然而在处理基本有序数组时传统的快速排序可能会退化为 O ( n 2 ) O(n^2) O(n2)的时间复杂度。为了解决这个问题引入了三者取中法通过选择数组中的三个元素并取其中值作为基准元素能够在基本有序的情况下提高排序效率。 2. 快速排序算法 2.1 传统快速排序 快速排序的核心思想是通过选择一个基准元素将待排序的数组划分为两个部分左边的元素小于基准右边的元素大于基准然后对左右两部分递归地进行排序其时间复杂度 最好情况 每次分划都能将数组平均地划分成两部分此时的时间复杂度为 O ( n l o g 2 n ) O(n log_2 n) O(nlog2​n)。最坏情况 每次分划都选择了数组中最小或最大的元素作为基准导致每次分划只能减少一个元素时间复杂度 O ( n 2 ) O(n^2) O(n2)。平均情况 通过概率分析可以证明时间复杂度为 O ( n l o g 2 n ) O(n log_2 n) O(nlog2​n)。 2.2 三者取中法 2. 算法描述   改进的快速排序算法主要区别在于基准元素的选择。在传统快速排序中通常选择随机元素作为基准而在改进算法中则采用三者取中法 3. 实验内容 3.1 实验题目 实现教材233 页下方提及的 Select 算法求第 4 小元素要求文件长度大于等于 5 时调用 Partition2 算法否则调用直接插入排序算法。 一输入要求 第一组输入数据 {12345678910111213141516} 第二组输入数据 {16151413121110987654321} 二输出要求 对每组输入数据输出以下信息要求必须要有关于输出数据的明确的提示信息 输出分划次数输出找到第 4 小元素时文件的状态即输出此时所有记录的值。 3.2 算法实现 #includestdio.h void Change(int R[],int i,int j) {int tR[i];R[i]R[j];R[j]t; } int Partition2(int R[],int m,int n) {Change(R,(mn)/2,m1);if(R[m1]R[n]) Change(R,m1,n);if(R[m]R[n]) Change(R,m,n);if(R[m1]R[m]) Change(R,m 1,m);int im,jn1,KR[m];while(ij){i;while(R[i]K) i;j--;while(R[j]K) j--;if(ij)Change(R,i,j);}Change(R,m,j);return j; } void InsertSort(int R[],int len) {int i,j,t;for(i1;ilen;i)if(R[i]R[i-1]){tR[i];R[i]R[i-1];for(ji-1;R[j]tj0;j--){R[j1]R[j];}R[j1]t;} } int Select(int R[], int n) {if(n5){int tPartition2(R,1,n),rounds0;rounds;while(t!4){if(t4) tPartition2(R,t1,n);else tPartition2(R,1,t-1);rounds;}printf(分划次数为%d次\n,rounds);printf(找到第4小元素时文件状态为:);int i;for(i0;in;i)printf(%d ,R[i]);printf(\n);return R[4];}else{InsertSort(R,n);return R[4];} } int main() {//int R[16]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};int R[16]{16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};printf(第4小元素为%d,Select(R,16));return 0; } Change 函数用于交换数组中的两个元素。Partition2 函数使用中值法选择主元并使用修改过的Lomuto分区方案对数组进行分区。它返回选择的主元的最终位置。InsertSort 函数对数组执行插入排序。Select 函数是主要的算法。如果数组的大小大于或等于5它使用Partition2 函数递归地找到第4小元素。如果大小小于5它使用 InsertSort 函数对数组进行排序并返回第4个元素。 4. 实验结果
http://www.w-s-a.com/news/192038/

相关文章:

  • 小说网站建设之前需求分析免费下载京东购物
  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能
  • 网站设计培训成都陕西网站建设公司哪有
  • expedia电子商务网站建设辽宁网站设计
  • 深圳网站建设网站运营绥芬河市建设局网站
  • 家政服务网站做推广有效果吗做图软件ps下载网站有哪些
  • 北京市建设教育协会网站flash网站制作单选框和复选框ui组件
  • 国外有没有做问卷调查的网站网站网页怎么做
  • 简单个人网站模板下载网站建设整体情况介绍
  • 网站建设做到哪些内容荆门网站建设电话咨询
  • 玉树网站建设公司双11主机 wordpress 2015
  • dw做网站背景图片设置汕头seo管理
  • 个人又什么办法做企业网站唐山哪里建轻轨和地铁
  • 手机网站404页面室内设计公司排名前100
  • 做民宿需要和多家网站合作吗创建软件的步骤
  • 网站导航栏设计要求辽宁省住房和城乡建设厅
  • 海外网站平台腾讯营销平台
  • 东道网站建设良品铺子网络营销案例
  • 免费企业查询软件优化模型
  • 兰亭集势的网站平台建设凡科网站免费版怎么做
  • 在网站做推广要钱吗网站根目录是哪个文件夹
  • 网站建设如何弄链接海外vps一键配置WordPress
  • 1个ip可以做几个网站吗动画制作可以自学吗
  • 顺德建设局网站如何搭建网站
  • 精品网站建设费用 干净磐石网络网页制作简单作业
  • 网站建设需要用软件群晖怎样做网站