麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 邏輯算法 > 正文

PHP實現堆排序算法(代碼示例)

2020-03-22 18:09:45
字體:
來源:轉載
供稿:網友
計算機科學中,heapsort(1964年由J. W. J. Williams發明)是一種基于比較的排序算法。Heapsort(堆排序)可以看作是一種改進的選擇排序:與該算法類似,它將輸入分為已排序區域和未排序區域,并通過提取最大的元素并將其移動到已排序區域來交互式地縮小未排序區域。改進包括使用堆數據結構,而不是線性時間搜索來找到最大值。

盡管在大多數機器上,它的實際運行速度比實現良好的快速排序要慢一些,但它的優勢是在最壞情況下O(n log n)運行時更有利。堆排序是一種就地排序算法,但它不是一種穩定排序。

heapsort算法對一組隨機排列的值進行排序。在算法的第一階段,數組元素被重新排序以滿足堆屬性。在進行實際排序之前,將簡要展示堆樹結構以供說明。

PHP堆排序算法思路示意圖:

Sorting_heapsort_anim.gif

PHP堆排序實現代碼如下:

 ?phphtml' target='_blank'>class Node private $_i; public function __construct($key) $this- _i = $key; public function getKey() return $this- class Heap private $heap_Array; private $_current_Size; public function __construct() $heap_Array = array(); $this- _current_Size = 0;
$this- heap_Array[0] = $this- heap_Array[--$this- _current_Size]; $this- bubbleDown(0); return $root;
if ($rightChild $this- _current_Size $this- heap_Array[$leftChild] $this- heap_Array[$rightChild]) $larger_Child = $rightChild; } else { $larger_Child = $leftChild; if ($top- getKey() = $this- heap_Array[$larger_Child]- getKey()) { break;
for ($j = 0; $j sizeof($this- heap_Array); $j++) { $arr[] = $this- heap_Array[$j]- getKey(); return $arr;function heapsort(Heap $Heap) $size = $Heap- getSize(); for ($j = (int)($size/2) - 1; $j $j--) $Heap- bubbleDown($j); for ($j = $size-1; $j $j--) { $BiggestNode = $Heap- remove(); $Heap- insertAt($j, $BiggestNode); return $Heap- asArray();$arr = array(3, 0, 2, 5, -1, 4, 1);echo 原始數組 : echo implode( , ,$arr );$Heap = new Heap();foreach ($arr as $key = $val) { $Node = new Node($val); $Heap- insertAt($key, $Node); $Heap- incrementSize();$result = heapsort($Heap);echo /n排序后數組 : echo implode( , ,$result). /n

輸出:

原始數組 : 3, 0, 2, 5, -1, 4, 1 排序后數組 : -1, 0, 1, 2, 3, 4, 5

本篇文章就是關于PHP堆排序的介紹,希望對需要的朋友有所幫助!

以上就是PHP實現堆排序算法(代碼示例)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩视频在线不卡 | 欧美精品一区二区三区在线 | 国产精品白嫩白嫩大学美女 | 毛片大全在线观看 | 国产精品视频导航 | 久久久久久久久久久久久久国产 | 精品国产一区二区三 | 黄色免费不卡视频 | 久久96国产精品久久久 | 精品一区二区三区毛片 | 视频一区二区三区在线播放 | 日本在线视频免费观看 | 久久精品国产99久久久古代 | 操操操日日日干干干 | 91久久九色 | 中文字幕 亚洲一区 | 国产孕妇孕交大片孕 | 久色成人| 91精品国产九九九久久久亚洲 | 久久国产亚洲精品 | 99精品视频在线免费观看 | 精品国产一区二区久久 | 免费黄色大片在线观看 | xxxx18韩国护士hd老师 | 国产91九色| 13一14毛片免费看 | 欧美一区二区三区中文字幕 | 线观看免费完整aaa 欧美在线一级 | 国产又粗又爽又深的免费视频 | 免费中文视频 | 成人在线观看免费 | 姑娘第四集免费看视频 | 成人精品久久 | 欧美成人小视频 | 男女亲热网站 | 最新一级毛片 | 国产精品久久久免费看 | 久久精品99国产国产精 | 二区三区四区视频 | 国产做爰全免费的视频黑人 | 欧美中文字幕一区二区三区亚洲 |