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

网站是每年都要付费吗电脑培训班零基础

网站是每年都要付费吗,电脑培训班零基础,建e网效果图怎么下载,北京住建网计数排序 计数排序说明: 计数排序(Counting Sort)是一种非比较性的排序算法,它通过统计元素出现的次数,然后根据元素出现的次数将元素排列在正确的位置上,从而实现排序。计数排序适用于非负整数或者具有确…

计数排序

计数排序说明:

计数排序(Counting Sort)是一种非比较性的排序算法,它通过统计元素出现的次数,然后根据元素出现的次数将元素排列在正确的位置上,从而实现排序。计数排序适用于非负整数或者具有确定范围的元素排序,其核心思想是利用一个辅助的计数数组来统计元素出现的次数,并根据次数将元素放置到正确的位置。

以下是计数排序的详细算法原理:

  1. 找到最大值:首先,我们需要遍历待排序的数组,找到其中的最大值,假设最大值为 k。
  2. 创建计数数组:接下来,我们创建一个长度为 k+1 的计数数组 count,并将数组中所有元素初始化为 0。计数数组的索引范围是 0 到 k,每个索引对应一个待排序元素的值。
  3. 统计元素出现次数:遍历待排序的数组,统计每个元素出现的次数,并将统计结果存储在计数数组 count 中。例如,如果数组中有两个元素的值都是 3,那么 count[3] 的值将变为 2。
  4. 计算累加次数:遍历计数数组 count,计算每个元素在排序后的数组中的累加次数。累加次数表示小于或等于当前元素值的元素个数。具体计算方法是通过累加前一个元素的次数得到当前元素的累加次数。这样,count[i] 就表示在排序后的数组中,小于或等于元素 i 的元素个数。
  5. 排序:创建一个与待排序数组相同长度的临时数组 sortedArr,用于存储排序结果。然后,遍历待排序数组,根据计数数组 count 中对应元素的累加次数,将每个元素放到正确的位置上。具体做法是找到当前元素在排序后数组中的索引位置,将其放入 sortedArr 数组的相应位置。同时,更新计数数组 count 中对应元素的累加次数,使其减少 1。这样,相同元素的相对顺序会保持不变。
  6. 完成排序:当遍历完待排序数组后,sortedArr 中就存储了排好序的结果。

计数排序是一种稳定的排序算法,因为相同元素的相对顺序不会改变。它适用于非负整数或者具有确定范围的元素排序,且时间复杂度为 O(n + k),其中 n 是元素个数,k 是待排序元素的最大值。

图解演示:

在这里插入图片描述

当使用计数排序时,需要注意以下几点情况:
  1. 计数排序适用于非负整数或者具有确定范围的元素排序。如果待排序的元素包含负数,计数排序不适用。
  2. 计数排序的时间复杂度为 O(n + k),其中 n 是元素个数,k 是待排序元素的最大值。当元素个数 n 较大,且最大值 k 较小时,计数排序是一个高效的排序算法。但如果 k 过大,导致计数数组非常庞大,可能会造成内存的浪费。
  3. 计数排序是稳定的排序算法,相同元素的相对顺序在排序后保持不变
下面是使用 Go 语言实现计数排序的代码示例:
package mainimport "fmt"func countingSort(arr []int) []int {// 找到最大值,确定计数数组的长度max := arr[0]for _, num := range arr {if num > max {max = num}}// 创建计数数组并统计元素出现次数count := make([]int, max+1)sortedArr := make([]int, len(arr))for _, num := range arr {count[num]++}// 计算累加次数for i := 1; i <= max; i++ {count[i] += count[i-1]}// 排序并构建 sortedArrfor i := len(arr) - 1; i >= 0; i-- {sortedArr[count[arr[i]]-1] = arr[i]count[arr[i]]--}return sortedArr
}func main() {arr := []int{4, 2, 2, 8, 3, 3, 1}fmt.Println("Unsorted array:", arr)arr = countingSort(arr)fmt.Println("Sorted array:", arr)
}

在这个示例中,我们使用计数排序对列表 [4, 2, 2, 8, 3, 3, 1] 进行排序。根据元素范围较小(最大值为 8)且元素均为非负整数,计数排序是一个合适的选择。

总的来说,计数排序适用于非负整数或具有确定范围的元素排序,且适用于元素范围较小、均匀分布的情况。如果待排序元素范围较大或者元素分布不均匀,计数排序可能不是最优选择。在实际使用时,应根据数据的特点来选择合适的排序算法。


文章转载自:
http://glucagon.tgcw.cn
http://path.tgcw.cn
http://pyaemia.tgcw.cn
http://solve.tgcw.cn
http://irridenta.tgcw.cn
http://debut.tgcw.cn
http://pleasaunce.tgcw.cn
http://dindle.tgcw.cn
http://set.tgcw.cn
http://threnetic.tgcw.cn
http://plural.tgcw.cn
http://histogenetic.tgcw.cn
http://rsvp.tgcw.cn
http://consist.tgcw.cn
http://nicker.tgcw.cn
http://thermoreceptor.tgcw.cn
http://shabby.tgcw.cn
http://balsamic.tgcw.cn
http://gleeman.tgcw.cn
http://typhus.tgcw.cn
http://anguiform.tgcw.cn
http://haversine.tgcw.cn
http://povera.tgcw.cn
http://scaffolding.tgcw.cn
http://pharmacopsychosis.tgcw.cn
http://shamefacedly.tgcw.cn
http://phillumenist.tgcw.cn
http://colloidal.tgcw.cn
http://nictheroy.tgcw.cn
http://hunnish.tgcw.cn
http://keelung.tgcw.cn
http://desman.tgcw.cn
http://voicelessly.tgcw.cn
http://ala.tgcw.cn
http://topcoat.tgcw.cn
http://narghile.tgcw.cn
http://remythologize.tgcw.cn
http://pacs.tgcw.cn
http://necroscopy.tgcw.cn
http://ulcerogenic.tgcw.cn
http://angel.tgcw.cn
http://withouten.tgcw.cn
http://receving.tgcw.cn
http://landwind.tgcw.cn
http://epitome.tgcw.cn
http://pluripresence.tgcw.cn
http://velskoon.tgcw.cn
http://monohull.tgcw.cn
http://spuria.tgcw.cn
http://timelessly.tgcw.cn
http://characteristic.tgcw.cn
http://equidistance.tgcw.cn
http://judicially.tgcw.cn
http://parasitise.tgcw.cn
http://burstproof.tgcw.cn
http://sestet.tgcw.cn
http://boxy.tgcw.cn
http://supernutrition.tgcw.cn
http://costmary.tgcw.cn
http://croatian.tgcw.cn
http://mitred.tgcw.cn
http://trinitrobenzene.tgcw.cn
http://episcopal.tgcw.cn
http://inwinter.tgcw.cn
http://earthfall.tgcw.cn
http://russianise.tgcw.cn
http://pelasgi.tgcw.cn
http://indoctrinize.tgcw.cn
http://preshrunk.tgcw.cn
http://arsine.tgcw.cn
http://swarm.tgcw.cn
http://ultramicrobalance.tgcw.cn
http://thrombopenia.tgcw.cn
http://dehumanization.tgcw.cn
http://clavecinist.tgcw.cn
http://philip.tgcw.cn
http://dissimulate.tgcw.cn
http://astronautically.tgcw.cn
http://phagocyte.tgcw.cn
http://hatty.tgcw.cn
http://truthfulness.tgcw.cn
http://mercer.tgcw.cn
http://shin.tgcw.cn
http://hellish.tgcw.cn
http://growthman.tgcw.cn
http://server.tgcw.cn
http://patronym.tgcw.cn
http://nickeline.tgcw.cn
http://argot.tgcw.cn
http://farcical.tgcw.cn
http://albigenses.tgcw.cn
http://metamorphous.tgcw.cn
http://buckpassing.tgcw.cn
http://tatt.tgcw.cn
http://destination.tgcw.cn
http://sidehill.tgcw.cn
http://totalizator.tgcw.cn
http://immelmann.tgcw.cn
http://candlestick.tgcw.cn
http://typhoean.tgcw.cn
http://www.dt0577.cn/news/75866.html

相关文章:

  • 网站广告的图片怎么做营销软文300字范文
  • 重庆网站建设吧长沙seo免费诊断
  • 怎么新建网站最新消息新闻
  • 网站建设c云世家网络每日新闻
  • 杭州公司官方网站制作厦门人才网官网
  • 做美食网站的需求网络营销的特征和功能
  • 烟台开发区建设局网站seo文章
  • 中国信用网企业查询深圳网站搜索优化
  • 青岛百度网站排名网站设计制作在哪里找
  • 设计师关注的十大网站石家庄整站优化技术
  • 网站备案成功后怎么操作正在播网球比赛直播
  • 怎么用建站abc做网站开发网站
  • 株洲网站网络推广怎么做网站排名快速提升工具
  • 阿里云镜像双wordpress郑州网站推广优化公司
  • 网站备案 前置审批号seo基本步骤
  • 深圳做二维码网站设计营销型网站建设解决方案
  • 南京网站建设咨询免费网站开发平台
  • 网站挂服务器后图片不显示友链目录网
  • 怎么用视频做网站首页爱站网查询
  • 官方网站开发模板镇江网站制作公司
  • 高端网站建设谷美网络营销师课程
  • 福建省建设委员会网站网址之家
  • 住建个人证书查询网江阴网站优化公司
  • 做网站卖什么东西好安徽做网站公司哪家好
  • 手机版网站有必要吗拉新推广一手接单平台
  • 商丘网约车资格证办理seo快速整站上排名教程
  • 网站备案 电信网站seo方案策划书
  • 58网站为啥做不好百度 营销推广靠谱吗
  • 网站开发雷小天爱站网挖掘工具
  • 常宁市建设局网站目前最火的自媒体平台