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

资源网站推荐旧安卓手机做网站

资源网站推荐,旧安卓手机做网站,宁波网络推广产品服务,wordpress替代文章目录 前言1. 排序算法的复杂度及稳定性分析2. 排序算法的性能测试2.1 重复率较低的随机值排序测试2.2 重复率较高的随机值排序测试 前言 本篇是基于我这几篇博客做的一个总结#xff1a; 《简单排序》#xff08;含#xff1a;冒泡排序#xff0c;直接插入排序#x… 文章目录 前言1. 排序算法的复杂度及稳定性分析2. 排序算法的性能测试2.1 重复率较低的随机值排序测试2.2 重复率较高的随机值排序测试 前言 本篇是基于我这几篇博客做的一个总结 《简单排序》含冒泡排序直接插入排序选择排序计数排序《希尔排序》《堆排序》《快速排序》《归并排序》 我会再对他们的时间复杂度、空间复杂度以及稳定性再做一次总结并且在不同的场景下测试他们的性能怎么样。 1. 排序算法的复杂度及稳定性分析 排序方法平均情况最好情况最坏情况辅助空间稳定性冒泡排序 O O O( N N N2) O O O( N N N) O O O( N N N2) O O O( 1 1 1)稳定选择排序 O O O( N N N2) O O O( N N N2) O O O( N N N2) O O O( 1 1 1)不稳定直接插入排序 O O O( N N N2) O O O( N N N) O O O( N N N2) O O O( 1 1 1)稳定计数排序 O O O( N r a n g e Nrange Nrange) O O O( N N N) O O O( N r a n g e Nrange Nrange) O O O( r a n g e range range)—希尔排序 O O O( N ∗ l o g N N*logN N∗logN) ~ O O O( N N N2) O O O( N N N1.3) O O O( N N N2) O O O( 1 1 1)不稳定堆排序 O O O( N ∗ l o g N N*logN N∗logN) O O O( N ∗ l o g N N*logN N∗logN) O O O( N ∗ l o g N N*logN N∗logN) O O O( 1 1 1)不稳定归并排序 O O O( N ∗ l o g N N*logN N∗logN) O O O( N ∗ l o g N N*logN N∗logN) O O O( N ∗ l o g N N*logN N∗logN) O O O( N N N)稳定快速排序 O O O( N ∗ l o g N N*logN N∗logN) O O O( N ∗ l o g N N*logN N∗logN) O O O( N N N2) O O O( l o g N logN logN) ~ O O O( N N N)不稳定 2. 排序算法的性能测试 ⚠️我这里只是测试一遍的结果截图目的是让大家看看判断一个排序的优劣需要不同场景下的大量测试。 我们比较排序时应该换成release版本来测试这样性能才会全部拉满 先写一段测试代码 // 测试排序的性能对比 // 测试排序的性能对比 void TestOP() {srand(time(0));const int N 100000; // 十万个数的比较int* a1 (int*)malloc(sizeof(int) * N);int* a2 (int*)malloc(sizeof(int) * N);int* a3 (int*)malloc(sizeof(int) * N);int* a4 (int*)malloc(sizeof(int) * N);int* a5 (int*)malloc(sizeof(int) * N);int* a6 (int*)malloc(sizeof(int) * N);int* a7 (int*)malloc(sizeof(int) * N);int* a8 (int*)malloc(sizeof(int) * N);for (int i 0; i N; i){a1[i] rand() i; // 生成十万个重复率低的随机值//a1[i] rand() % 100; // 生成十万个重复率高的随机值a2[i] a1[i];a3[i] a1[i];a4[i] a1[i];a5[i] a1[i];a6[i] a1[i];a7[i] a1[i];a8[i] a1[i];}int begin1 clock();InsertSort(a1, N);int end1 clock();int begin2 clock();SelectSort(a2, N);int end2 clock();int begin3 clock();ShellSort(a3, N);int end3 clock();int begin4 clock();HeapSort(a4, N);int end4 clock();int begin5 clock();QuickSort(a5, 0, N);int end5 clock();int begin6 clock();MergeSort(a6, N);int end6 clock();int begin7 clock();QuickSortNonR(a7, 0, N);int end7 clock();int begin8 clock();MergeSortNonR(a8, N);int end8 clock();printf(InsertSort:%d\n, end1 - begin1);printf(SelectSort:%d\n, end2 - begin2);printf(ShellSort:%d\n, end3 - begin3);printf(HeapSort:%d\n, end4 - begin4);printf(QuickSort:%d\n, end5 - begin5);printf(MergeSort:%d\n, end6 - begin6);printf(QuickSortNonR:%d\n, end7 - begin7);printf(MergeSortNonR:%d\n, end8 - begin8);free(a1);free(a2);free(a3);free(a4);free(a5);free(a6); }int main() {srand((unsigned)time(NULL)); // 生成随机数种子TestOP();return 0; }2.1 重复率较低的随机值排序测试 可以看到直接插入排序在比较低阶的排序算法中算是很优秀的一个排序了。 我们继续加大数据但是我得把效率比较低的排序关掉单独来比那些比较高阶的排序 2.2 重复率较高的随机值排序测试 直接看结果 继续加大数据把效率比较低的排序关掉单独来比那些比较高阶的排序
http://www.hkea.cn/news/14417171/

相关文章:

  • 网站建设情况存在问题企业形象策划
  • 明薇通网站建设首选郴州网页
  • 网站不用工具开发建设石家庄新闻频道直播
  • 建个电子商务网站多少钱软件开发 网站开发公司
  • 企业网站的设计论文社区推广方法有哪些
  • 江西南昌建设厅网站手机端网站搭建
  • 芜湖网站制作唐山网站开发培训
  • 龙岩亿网行大连seo排名
  • 网站建设之开展电子商务wordpress权限设置管理员
  • 能打开的网站你了解的北京seo服务销售
  • 网站建设的规划方案软件开发平台的选择
  • cms系统创建静态网站wordpress添加开场
  • wordpress做复杂网站seo标签优化
  • 网站怎么做市场分析曼联vs维拉直播免费视频直播
  • 幸福人寿保险公司官方网站保单查询搜狗站长推送工具
  • 介休做网站网站运营开发托管
  • 襄阳网站seo诊断8网站建设做网站
  • 销售产品单页面网站广州天华建筑设计有限公司
  • 怎么样自己做企业网站网站节点加速
  • 贵金属网站模板安徽seo团队
  • 商城建站系统源码优秀个人博客网站
  • 品牌网站建设h合肥微信公众号怎么创建
  • 网站建设东莞公司c 做网站起什么作用
  • 云南建站推广域名注册需要什么资料
  • 做网站遇到竞争对手怎么办漳州网站建设 林
  • 新手做的网站合肥做个网站什么价格
  • 网站建设优化文章视频网站界面设计
  • 高端企业网站建设公司wordpress什么样子
  • 网站导航栏一般有什么内容广安发展建设集团公司网站
  • 跨境电商一站式服务平台甘肃做网站哪家专业