中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

建設(shè)一個網(wǎng)站需要哪些材料合肥seo排名公司

建設(shè)一個網(wǎng)站需要哪些材料,合肥seo排名公司,中國地圖36個省的地圖,怎么自己做網(wǎng)站教程堆排序(二) 把數(shù)組從零開始連續(xù)的一段 完全二叉樹 size i 左 son 2*11 i 右 son 2*12 父 (i-1) / 2 堆是完全二叉樹,分為大根堆和小根堆 在完全二叉樹里,每一棵子數(shù)最大的值是頭節(jié)點(diǎn)的值,就是大根堆 同理&…
堆排序(二)

把數(shù)組從零開始連續(xù)的一段 = 完全二叉樹 size

i 左 son 2*1+1

i 右 son 2*1+2

父 (i-1) / 2

堆是完全二叉樹,分為大根堆和小根堆

在完全二叉樹里,每一棵子數(shù)最大的值是頭節(jié)點(diǎn)的值,就是大根堆

同理,在完全二叉樹里,每一棵子數(shù)最小的值是頭節(jié)點(diǎn)的值,就是小根堆

大根堆排序,插入的值 和 父節(jié)點(diǎn)比較,如果比父節(jié)點(diǎn)大,和它交換,直到最大,就停止,通過這樣的調(diào)整,得到的一定是大根堆。這個過程,我們叫做 heapInsert

public static void heapInsert(int [] arr, int index) {while (arr[index] > arr[(index - 1) / 2]) {// 和父節(jié)點(diǎn)交換值  并且把當(dāng)前下標(biāo)移動到父節(jié)點(diǎn)swap(arr, index, (index - 1) / 2); index = (index - 1) / 2; }
}

從一堆數(shù)中找出最大值,移除它,保持還是大根堆,我們管這個過程叫做heapify

public static void heapify(int [] arr, int index, int heapSize) {int left = index * 2 + 1; // 左孩子的下標(biāo)while (left < heapSize) { // 下方還有孩子 (左孩子越界,那么就沒有右孩子了。)// 倆個孩子中,誰的值大,把下標(biāo)給誰 (先找出孩子中最大的)int largest = left + 1 < heapSize && arr[left + 1] > arr[left] ? left + 1:left;// 父和孩子之間,誰的值大,把下標(biāo)給誰 (較大的孩子和父節(jié)點(diǎn)找出最大的)largest = arr[largest] > arr[index] ? largest : index;if (largest == index) { // 如果當(dāng)前節(jié)點(diǎn)就是最大的 跳出break;}swap(arr, largest, index); // 交換位置index = largest; // 繼續(xù)比較left = index * 2 + 1; // 找左孩子繼續(xù) while}
}

題目:

已知一個幾乎有序的數(shù)組,幾乎有序是指,如果把數(shù)組排好順序的話,每個元素移動的距離可以不超過K,并且K相對于數(shù)組來說比較小。請選擇一個合適的排序算法針對這個數(shù)據(jù)進(jìn)行排序。

假如K = 6 ,建立一個heapSize = 7 的小根堆 (這樣小根堆的最小值一定是數(shù)組的最小值)

把最小的彈出,保持小根堆,新加入的數(shù)字做heapfiy,

繼續(xù)上面的步驟,直到全部彈出。

public static void main(String[] args) {PriorityQueue<Integer> heap = new PriorityQueue<>();heap.add(8);heap.add(4);heap.add(10);heap.add(3);while(!heap.isEmpty) {System.out.println(heap.poll());}
}
http://www.risenshineclean.com/news/39429.html

相關(guān)文章:

  • 網(wǎng)站免費(fèi)下載軟件游戲推廣怎么做
  • 門戶網(wǎng)站開發(fā)框架qq群怎么優(yōu)化排名靠前
  • 用bootstrap做網(wǎng)站管理系統(tǒng)優(yōu)秀網(wǎng)站設(shè)計(jì)賞析
  • 平面設(shè)計(jì)如何在家接單seo網(wǎng)絡(luò)優(yōu)化培訓(xùn)
  • 設(shè)計(jì)網(wǎng)站 常用字體百度推廣怎么聯(lián)系
  • 有阿里云主機(jī)管理平臺如何自己做網(wǎng)站市場監(jiān)督管理局是干什么的
  • 正能量軟件不良網(wǎng)站免費(fèi)入口好看的友情鏈接代碼
  • 網(wǎng)站商城建站谷歌 翻墻入口
  • qq自動發(fā)貨平臺網(wǎng)站怎么做嘉定區(qū)整站seo十大排名
  • app設(shè)計(jì)素材網(wǎng)站2023新聞大事10條
  • 中英文雙語企業(yè)網(wǎng)站長春關(guān)鍵詞優(yōu)化平臺
  • 聊城陽谷網(wǎng)站建設(shè)百度官網(wǎng)優(yōu)化
  • 小程序個人開發(fā)全過程天津seo推廣
  • 石家莊網(wǎng)絡(luò)公司查封??趕eo計(jì)費(fèi)
  • 鄭州網(wǎng)站建設(shè)電話seo外鏈推廣員
  • 下載app到手機(jī)seo系統(tǒng)是什么
  • 外貿(mào)網(wǎng)站開發(fā)公司百度上怎么發(fā)布信息啊
  • 臨沂蒼山網(wǎng)站建設(shè)百度聯(lián)盟
  • wordpress 電話鶴壁seo推廣
  • 做任務(wù)賺q紅包的網(wǎng)站百度統(tǒng)計(jì)收費(fèi)嗎
  • ps網(wǎng)站頭部如何優(yōu)化培訓(xùn)方式
  • 找別人做網(wǎng)站需要注意什么百度權(quán)重10的網(wǎng)站
  • 臨沂網(wǎng)站建設(shè)設(shè)計(jì)百度識圖網(wǎng)站
  • 網(wǎng)上服裝設(shè)計(jì)培訓(xùn)班seo推廣具體做什么
  • 鄭州網(wǎng)站seo優(yōu)微信朋友圈廣告在哪里做
  • 廣州小型網(wǎng)站建設(shè)公司平面設(shè)計(jì)正規(guī)培訓(xùn)機(jī)構(gòu)
  • 視頻彈幕網(wǎng)站怎么做百度搜索提交入口
  • 個人做商城網(wǎng)站大概多少錢友鏈網(wǎng)站
  • 做網(wǎng)站商城開發(fā)什么語言最快seo站內(nèi)優(yōu)化培訓(xùn)
  • 煙臺企業(yè)網(wǎng)站開發(fā)清博大數(shù)據(jù)輿情監(jiān)測平臺