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

上海都有哪些公司郑州优化公司有哪些

上海都有哪些公司,郑州优化公司有哪些,石排镇仿做网站,如何做一名合格的网站人这篇就从简单一点的一个“奇偶排序”说起吧,不过这个排序还是蛮有意思的,严格来说复杂度是 O(N2),不过在多核的情况下,可以做到 N2 /(m/2)的效率,这里的 m 就是待排序的个数,当 m100,复杂度为 N…

这篇就从简单一点的一个“奇偶排序”说起吧,不过这个排序还是蛮有意思的,严格来说复杂度是 O(N2),不过在多核的情况下,可以做到 N2 /(m/2)的效率,这里的 m 就是待排序的个数,当 m=100,复杂度为 N2 /50,还行把,比冒泡要好点,因为重点是解决问题的奇思妙想。
下面我们看看这个算法是怎么描述的,既然是奇偶,肯定跟位数有关了

  1. 先将待排序数组的所有奇数位与自己身后相邻的偶数位相比较,如果前者大于后者,则进行交换,直到这一趟结束。
  2. 然后将偶数位与自己身后相邻的奇数位相比较,如果前者大于后者,则进行交换,直到这一趟结束。
  3. 重复 1,2 的步骤,直到发现无“奇偶”,“偶奇” 交换的时候,就认为排序完毕,此时退出循环。
① 待排序数组:                       9 2 1 6 0 7
② 所有奇数位与身后的相邻的偶数位比较交换    2 9 1 6 0 7
③ 所有偶数位与身后的相邻的奇数位比较交换    2 1 9 0 6 7
④ 所有奇数位与身后的相邻的偶数位比较交换    1 2 0 9 6 7
⑤ 所有偶数位与身后的相邻的奇数位比较交换    1 0 2 6 9 7
⑥ 所有奇数位与身后的相邻的偶数位比较交换    0 1 2 6 7 9

我们可以看到,经过 5 趟排序后,我们的数组就排序完毕了,从图中 ② 可以看到,如果每个线程分摊一个奇数位,那交换是不是只要一次就够了呢,可以看到这个算法在多核处理下面还是很有优势的。
最后的运行代码:

 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Xsl;namespace ConsoleApplication1{class Program{static void Main(string[] args){List<int> list = new List<int>() { 9, 2, 1, 6, 0, 7 };Console.WriteLine("\n排序前 => " + string.Join(",", list));list = OddEvenSort(list);Console.WriteLine("\n排序后 => " + string.Join(",", list));Console.Read();}static List<int> OddEvenSort(List<int> list){var isSorted = false;//如果还没有排序完,就需要继续排序,知道没有交换为止while (!isSorted){//先默认已经排序完了isSorted = true;//先进行 奇数位 排序for (int i = 0; i < list.Count; i = i + 2){//如果 前者 大于 后者,则需要进行交换操作,也要防止边界if (i + 1 < list.Count && list[i] > list[i + 1]){var temp = list[i];list[i] = list[i + 1];list[i + 1] = temp;//说明存在过排序,还没有排序完isSorted = false;}}//再进行 奇数位 排序for (int i = 1; i < list.Count; i = i + 2){//如果 前者 大于 后者,则需要进行交换操作,也要防止边界if (i + 1 < list.Count && list[i] > list[i + 1]){var temp = list[i];list[i] = list[i + 1];list[i + 1] = temp;//说明存在过排序,还没有排序完isSorted = false;}}}return list;}}}

image.png

http://www.yidumall.com/news/19838.html

相关文章:

  • wordpress 短视频主题seo服务加盟
  • 做 网站 技术支持 抓获武汉seo网站优化
  • 网站开发策划书今日新闻国际最新消息
  • 网上发布信息的网站怎么做的惠州网站建设
  • 网站营销公司简介荥阳网络推广公司
  • 做平台好还是自己建网站企业网站推广策划
  • 做网站前期需要准备什么seo基础知识
  • 舟山网站建设推荐合肥seo优化
  • php网站开发案例pdf品牌策略包括哪些内容
  • 江苏宏远建设集团网站推广普通话海报
  • 网站设计与网站建设seo推广策划
  • 果蔬网站规划建设方案网站排名优化系统
  • 微信官方网站建设百度客服怎么联系
  • 美空间网站网站seo搜索引擎优化教程
  • 网站死链管理培训课程
  • WordPress七牛导致评论失效德州网站建设优化
  • 手机网站内容模块百度客户服务中心
  • 网站建设百度文库网站优化的方法有哪些
  • 怎么做淘宝联盟的推广网站电商网络推广
  • wordpress文件浏览插件英文seo外链发布工具
  • 深圳建设网站推荐国内搜索引擎排名第一的是
  • 政府网站集约化建设安全怎么创建网站的快捷方式
  • 建设银行信用卡被钓鱼网站找回今日头条
  • 网站运营工作是干什么的抖音推广渠道有哪些
  • 教做软件的网站android优化大师
  • 网站界面优化网站推广怎么优化
  • app开发的网站百度竞价排名
  • 阿里巴巴运营流程安徽seo顾问服务
  • 龙华网站优化如何学会推广和营销
  • 长沙有家具网站建设的吗网站制作的要点和步骤详解