第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

第 29 題:如何理解桶排序?

標(biāo)簽:
Html5 CSS3 面試

什么是桶排序?

桶排序是计数排序的升级版,有些排序场景计数排序无法使用(数值超出范围或者不是整数)。将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序)

算法描述

设置 n 个数量的空桶,并且确定每个桶的范围;

遍历输入数据,并且把数据一个一个放到对应的桶里去;

对每个可以进行排序(桶里面的数量大于 1 个)的桶进行排序;

把排序好的桶拼接起来

栗子

每一个桶代表一个区间范围,里面可以承载一个或多个元素。

桶排序的第一步,就是创建这些桶,确定每一个桶的区间范围

1.png

这个时候就会有人提问,怎么知道建立多少个桶?每个桶的范围是多少呢?

具体建立多少个桶,如何确定桶的区间范围,有很多不同的方式,由实际情况去定义

这里只举例其中一种,创建的桶数量等于原始序列的元素数量,除了最后一个桶只包含数列最大值,前面各个桶的区间按照比例确定

区间跨度 (求平均值)= (最大值-最小值)/ (桶的数量 - 1)

第二步,遍历原始序列,把元素对号入座放入各个桶中

2.png

第三步,每个桶内部的元素分别排序(显然,只有第一个桶需要排序)

3.png

最后一步,遍历所有的桶,输出所有元素

0.5,0.84,2.18,3.25,4.5

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消