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

制作网站一般多少钱邯郸房产网官网

制作网站一般多少钱,邯郸房产网官网,做网站和app哪个简单,网站的欢迎页怎么做1. 概述 桶排序#xff08;Bucket Sort#xff09;又称箱排序#xff0c;是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里#xff0c;再对每个桶分别排好序#xff08;可以是递归使用桶排序#xff0c;也可以是使用其他排序算法将每个桶分别排好序Bucket Sort又称箱排序是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里再对每个桶分别排好序可以是递归使用桶排序也可以是使用其他排序算法将每个桶分别排好序最后一次将每个桶中排好序的数输出。 2. 算法详解 桶排序的思想就是把待排序的数尽量均匀地放到各个桶中再对各个桶进行局部的排序最后再按序将各个桶中的数输出即可得到排好序的数。 首先确定桶的个数。因为桶排序最好是将数据均匀地分散在各个桶中那么桶的个数最好是应该根据数据的分散情况来确定。首先找出所有数据中的最大值mx和最小值mn 根据mx和mn确定每个桶所装的数据的范围 size有     size (mx - mn) / n 1n为数据的个数需要保证至少有一个桶故而需要加个1 求得了size即知道了每个桶所装数据的范围还需要计算出所需的桶的个数cnt有     cnt (mx - mn) / size 1需要保证每个桶至少要能装1个数故而需要加个1 求得了size和cnt后即可知第一个桶装的数据范围为 [mn, mn size)第二个桶为 [mn size, mn 2 * size)…以此类推     因此步骤2中需要再扫描一遍数组将待排序的各个数放进对应的桶中。 对各个桶中的数据进行排序可以使用其他的排序算法排序例如快速排序也可以递归使用桶排序进行排序 将各个桶中排好序的数据依次输出最后得到的数据即为最终有序。 例子:待排序的数为3, 6, 9, 1 1求得 mx 9mn 1n 4 size 9 - 1) / n 1 3 cnt (mx - mn) / size 1 3 2由上面的步骤可知共3个桶每个桶能放3个数第一个桶数的范围为 [1, 4)第二个[4, 7)第三个[7, 10) 扫描一遍待排序的数将各个数放到其对应的桶中放完后如下图所示 3对各个桶中的数进行排序得到如下图所示 4依次输出各个排好序的桶中的数据即为1, 3, 6, 9 可见最终得到了有序的排列。 3. 时间复杂度和空间复杂度分析 最好时间复杂度 : O(n k) 其中k为桶的个数。即当数据是均匀分散排列的那么每个桶分到的数据个数都是一样的这个步骤需要O(k)的书剑复杂度在对每个桶进行排序的时候最好情况下是数据都已经是有序的了那么最好的排序算法的时间复杂度会是O(n)因此总的时间复杂度是 O(n k) 。 最坏时间复杂度O(n^2) 当对每个桶中的数据进行排序的时候所使用的排序算法最坏情况下是O(n^2)因此总的最坏情况下的时间复杂度为O(n^2。 平均时间复杂度O(n n²/k k) O(n) 如果k是根据Θ(n)来获取的那么平均时间复杂度就是 O(n)。 4.桶排序误区 1、如果数据分布不均大量数据集中在少量桶里桶排序就没有效果。 2、桶排序要时间就省不了空间要空间就省不了时间意义不大。 首先桶排序排序的内容是均匀分布的一串数字不存在数据分布不均的问题。其次桶排序可以在时间和空间之间找一个点使其满足两者。 5.代码 #include stdio.h #include stdlib.h// 桶排序函数 void bucketSort(int arr[], int n) {// 创建桶数组int maxVal arr[0];for (int i 1; i n; i) {if (arr[i] maxVal) {maxVal arr[i];}}int bucket[maxVal 1];for (int i 0; i maxVal; i) {bucket[i] 0;}// 将元素放入桶中for (int i 0; i n; i) {bucket[arr[i]];}// 从桶中取出元素并排序int index 0;for (int i 0; i maxVal; i) {while (bucket[i] 0) {arr[index] i;bucket[i]--;}} }// 测试桶排序 int main() {int arr[] {5, 2, 8, 4, 9, 1, 3, 7, 6};int n sizeof(arr) / sizeof(arr[0]);printf(原始数组);for (int i 0; i n; i) {printf(%d , arr[i]);}printf(\n);bucketSort(arr, n);printf(排序后数组);for (int i 0; i n; i) {printf(%d , arr[i]);}printf(\n);return 0; } 参考文章桶排序详解-CSDN博客文章浏览阅读2.9k次点赞19次收藏30次。本文详细介绍了桶排序的基本原理如何利用哈希表进行数据分配以及进阶方法中如何通过区间划分和链表结构进行排序。特别强调了桶排序对数据分布均匀性的依赖和在时间和空间效率上的平衡。https://blog.csdn.net/2302_80297670/article/details/135852102?ops_request_misc%257B%2522request%255Fid%2522%253A%25226BEB34D7-B27C-41C3-9542-2CA003EEF8BE%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257Drequest_id6BEB34D7-B27C-41C3-9542-2CA003EEF8BEbiz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-135852102-null-null.142^v100^pc_search_result_base6utm_term%E6%A1%B6%E6%8E%92%E5%BA%8Fspm1018.2226.3001.4187 【算法】桶排序Bucket Sort详解-CSDN博客文章浏览阅读2.8w次点赞56次收藏351次。桶排序_桶排序https://blog.csdn.net/qq_27198345/article/details/126516234?ops_request_misc%257B%2522request%255Fid%2522%253A%25226BEB34D7-B27C-41C3-9542-2CA003EEF8BE%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257Drequest_id6BEB34D7-B27C-41C3-9542-2CA003EEF8BEbiz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-126516234-null-null.142^v100^pc_search_result_base6utm_term%E6%A1%B6%E6%8E%92%E5%BA%8F
http://www.hkea.cn/news/14310666/

相关文章:

  • 互动广告机网站建设怎么做企业的网站
  • 门户网站建设和推广网站建设推广群
  • 适合女生做的网站凡科建站官网地址
  • 北京专业网站翻译影音字幕翻译速记速记速记快而高效免费设计装修公司
  • 做写字楼的网站有哪些网站制作在哪能看
  • 怎么做网站移植网站全国建筑行业资质平台查询官网
  • 免费开源企业网站做网站网站内容怎么找
  • 高端网站建设专业公司三好街做网站的公司
  • 龙岗做棋牌网站建设ftp怎么连接网站空间
  • 作图网站做课程表开发公司补偿物业公司物业费协议
  • 网站维护要什么wordpress自动建议搜索引擎不抓取
  • 商业网站图片网站设计宽屏
  • 山东网站建设工作室网站建设营销型网站
  • 长沙做网站备案网站建设汇报稿
  • 网站标题关键词云上铺会员管理系统
  • 网站建设维护资质购物网站的开发
  • 如何做枪版电影网站人力资源网
  • 网站的关键词怎么设置跳转网站
  • 网站建设合同 免责声明创业平台有哪些
  • 管理网站 开发电子商务公司的名字
  • 做综合医院网站大望路做网站的公司
  • 做网站怎么开发客户源上海网站开发与设
  • 汉中做网站公司wordpress本地上传视频资料
  • 卖主机网站搜索引擎营销的概念
  • 专业建站公司主要做什么h5网页设计软件
  • 青岛企业网站seo技巧微信服务号菜单链接网站怎么做
  • 小公司没网站一级消防工程师考试技巧
  • 什么是网站的功能模块设计制作生态瓶教学视频
  • 去年做那些网站能致富支付通道网站怎么做
  • 新乡市做网站的公司龙华o2o网站建设