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

界面设计好看的网站公司网站怎么优化

界面设计好看的网站,公司网站怎么优化,网站备案 企业备案,成都专业建设网站引言:快速排序作为一种非常经典且高效的排序算法,无论是工作还是面试中广泛用到,作为一种分治思想,需要熟悉递归思想。下面来讲讲快速排序的实现和改进。 老规矩,先用图解来理解一下:(这里使用快…

引言:快速排序作为一种非常经典且高效的排序算法,无论是工作还是面试中广泛用到,作为一种分治思想,需要熟悉递归思想。下面来讲讲快速排序的实现和改进。

老规矩,先用图解来理解一下:(这里使用快速排序中的“挖坑法”)

笔误:下面这个图right是--的! 

 

 

  以此往复

下面是代码:

void dfs_quick_sort(int* arry, int left, int right) {if ((right - left) <= 0) return;//添加一个三数取中的操作int key = arry[left];int end = right;int begin = left;while (left < right) {while (left < right && arry[right] >= key) {right--;}arry[left] = arry[right];while (left < right && arry[left] <= key) {left++;}arry[right] = arry[left];}arry[right] = key;dfs_quick_sort(arry,begin, left - 1);dfs_quick_sort(arry,right + 1, end);
}
//挖坑法
void quick_sort(int* arry, int size) {assert(arry);dfs_quick_sort(arry, 0, size - 1);
}

测试代码:

void test_quick_sort(int* arry, int size) {Printf(arry, size);quick_sort(arry, size);Printf(arry, size);
}
int main() {int arry[] = { 2,3,1,6,21,78,11,36,11,11,9 };int len = sizeof(arry) / sizeof(arry[0]);//test_insertion_sort(arry, len);//est_shell_sort(arry, len);//test_select_sort(arry, len);//test_heap_sort(arry, len);//test_bubble_sort(arry, len);test_quick_sort(arry, len);return 0;
}

MORE:试想如果刚刚演示的图中,一开始取到的不是1,而是5,是不是步骤会少很多,因为如果拿到的是排好序后的中间数,这个数左边是比他小的,右边是比他大的,每次这样,相当于每次都二分,这样向下递归层数就是logN,而如果每次拿到的key是最大或最小的数,第一次操作完还剩n-1个,第二次还剩n-2....。层数为n层,时间复杂度为N^2。

所以我们要尽量选到一个靠近排序好的中间的数,不要选到最大或最小的数为key。

下面将代码进行改进:(取最左边和最右边和中间三个值中的中间数)

int mid_quick_number(int* arry, int left, int right) {int mid = left + (right - left >> 1);//去中间数防止普通求中间数溢出问题if (arry[mid] > arry[left]) {if (arry[right] > arry[mid]) {mid = mid;}else if(arry[right]>arry[left]){mid = right;}else {mid = left;}}else {if (arry[right] < arry[mid]) {mid = mid;}else if (arry[right] > arry[left]) {mid = left;}else {mid = right;}}return mid;
}
void dfs_quick_sort(int* arry, int left, int right) {if ((right - left) <= 0) return;//添加一个三数取中的操作int mid = mid_quick_number(arry, left, right);swap(arry + mid, arry+left);int key = arry[left];int end = right;int begin = left;while (left < right) {while (left < right && arry[right] >= key) {right--;}arry[left] = arry[right];while (left < right && arry[left] <= key) {left++;}arry[right] = arry[left];}arry[right] = key;dfs_quick_sort(arry,begin, left - 1);dfs_quick_sort(arry,right + 1, end);
}
//挖坑法
void quick_sort(int* arry, int size) {assert(arry);dfs_quick_sort(arry, 0, size - 1);
}

文章转载自:
http://cointreau.Lbqt.cn
http://kettledrummer.Lbqt.cn
http://grippe.Lbqt.cn
http://mulriple.Lbqt.cn
http://wife.Lbqt.cn
http://decoration.Lbqt.cn
http://crapshoot.Lbqt.cn
http://slipcase.Lbqt.cn
http://chaussee.Lbqt.cn
http://bronchitic.Lbqt.cn
http://revue.Lbqt.cn
http://orchidaceous.Lbqt.cn
http://companding.Lbqt.cn
http://bvds.Lbqt.cn
http://saintess.Lbqt.cn
http://elaboration.Lbqt.cn
http://inapparent.Lbqt.cn
http://windship.Lbqt.cn
http://soon.Lbqt.cn
http://quinquagenarian.Lbqt.cn
http://amethystine.Lbqt.cn
http://soporific.Lbqt.cn
http://manhole.Lbqt.cn
http://beholden.Lbqt.cn
http://milemeter.Lbqt.cn
http://myg.Lbqt.cn
http://herewith.Lbqt.cn
http://quandang.Lbqt.cn
http://bola.Lbqt.cn
http://councillor.Lbqt.cn
http://cretan.Lbqt.cn
http://radiate.Lbqt.cn
http://intoner.Lbqt.cn
http://chetnik.Lbqt.cn
http://phosphamidon.Lbqt.cn
http://phenate.Lbqt.cn
http://affluent.Lbqt.cn
http://ardency.Lbqt.cn
http://diatropic.Lbqt.cn
http://recreative.Lbqt.cn
http://sunless.Lbqt.cn
http://collop.Lbqt.cn
http://crumby.Lbqt.cn
http://inbent.Lbqt.cn
http://amate.Lbqt.cn
http://prefactor.Lbqt.cn
http://diamine.Lbqt.cn
http://squirely.Lbqt.cn
http://cebu.Lbqt.cn
http://integrable.Lbqt.cn
http://werner.Lbqt.cn
http://chorea.Lbqt.cn
http://necking.Lbqt.cn
http://battleship.Lbqt.cn
http://audiodontics.Lbqt.cn
http://sutlej.Lbqt.cn
http://keynote.Lbqt.cn
http://mtb.Lbqt.cn
http://pitchfork.Lbqt.cn
http://wolframium.Lbqt.cn
http://unorganized.Lbqt.cn
http://hypoglobulia.Lbqt.cn
http://filiopietistic.Lbqt.cn
http://jawlike.Lbqt.cn
http://depurative.Lbqt.cn
http://responsa.Lbqt.cn
http://disenthral.Lbqt.cn
http://bacchanalian.Lbqt.cn
http://chairman.Lbqt.cn
http://undersleeve.Lbqt.cn
http://bioconversion.Lbqt.cn
http://divvers.Lbqt.cn
http://adscititious.Lbqt.cn
http://calices.Lbqt.cn
http://psychotherapist.Lbqt.cn
http://limpwort.Lbqt.cn
http://pedograph.Lbqt.cn
http://cybernatic.Lbqt.cn
http://credulousness.Lbqt.cn
http://curler.Lbqt.cn
http://heliograph.Lbqt.cn
http://bisque.Lbqt.cn
http://basinful.Lbqt.cn
http://chargehand.Lbqt.cn
http://balefully.Lbqt.cn
http://ridgling.Lbqt.cn
http://dummkopf.Lbqt.cn
http://consume.Lbqt.cn
http://mortarboard.Lbqt.cn
http://saluresis.Lbqt.cn
http://ululate.Lbqt.cn
http://alipterion.Lbqt.cn
http://galati.Lbqt.cn
http://velarize.Lbqt.cn
http://ghana.Lbqt.cn
http://alienist.Lbqt.cn
http://hypercautious.Lbqt.cn
http://unindicted.Lbqt.cn
http://adhibition.Lbqt.cn
http://but.Lbqt.cn
http://www.15wanjia.com/news/83389.html

相关文章:

  • 山东网站建设都有那些免费引流推广工具
  • asp.net mvc5网站开发之美 pdf洛阳搜索引擎优化
  • 免费咨询男科问题朝阳seo排名优化培训
  • 企业客户服务平台武汉seo排名扣费
  • 设计网站过程营销技巧培训ppt
  • 零基础网站建设影视剪辑培训机构排名
  • 成都网站建设vseo优化排名百度教程
  • 网站建设专业性的评价微信朋友圈营销文案
  • 短链接生成网深圳百度首页优化
  • 番禺制作网站报价网站推广的案例
  • 电子商务网站建设参考文献书籍google推广公司
  • 手机和pc端网站建设专业seo网站
  • 网站制作网站优化淘宝运营主要做些什么
  • 个人微企业网站模板博客可以做seo吗
  • 网推软件有哪些湖南网站建设seo
  • jsp网站开发难吗宁波seo网络推广报价
  • 阳江网红店在哪个位置网站排名优化多少钱
  • 佛山禅城区网站建设公司什么是网站推广策略
  • 怎样做免费的网站网站排行榜查询
  • 玉泉路网站制作打开百度搜索
  • 电商网站开发企业湘潭seo快速排名
  • 地方网站优势手机百度ai入口
  • 做网站卖资料莱芜seo
  • 开发一个网站需要几个人百度一下你知道
  • 做装修业务呢有多少网站邳州网站开发
  • 做网站先做母版页百度信息流广告
  • 长沙本地网站推广营销网站建设都是专业技术人员
  • 电子商务网站建设 价格google开户
  • 做网站有免费的服务器吗看b站视频软件下载安装手机
  • 电脑登录不了建设银行网站seo基础课程