欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PHP實(shí)現(xiàn)patiencesort算法-創(chuàng)新互聯(lián)

什么是patience sort算法?相信很多人對(duì)patience sort算法的了解處于一知半解狀態(tài),小編給大家總結(jié)了以下內(nèi)容。如下資料是關(guān)于patience sort算法的內(nèi)容。

成都創(chuàng)新互聯(lián)公司主營(yíng)嶗山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都APP應(yīng)用開(kāi)發(fā),嶗山h5微信平臺(tái)小程序開(kāi)發(fā)搭建,嶗山網(wǎng)站營(yíng)銷(xiāo)推廣歡迎嶗山等地區(qū)企業(yè)咨詢

耐心排序(patience sort)是一種排序算法,靈感來(lái)源于紙牌游戲patience,并以此命名。該算法的一個(gè)變體可以有效地計(jì)算給定數(shù)組中最長(zhǎng)遞增子序列的長(zhǎng)度。

PHP實(shí)現(xiàn)patience sort算法

該算法的名字來(lái)源于一個(gè)簡(jiǎn)化版的patience紙牌游戲。這個(gè)游戲以一副洗牌開(kāi)始。按照下面的規(guī)則,這些卡片被一個(gè)接一個(gè)地摞在桌子上。

最初,沒(méi)有"堆"。發(fā)出的第一張牌形成一張由單張牌組成的新牌。

隨后的每一張牌被放置在現(xiàn)有"堆"的最左邊,其頂牌的值大于或等于新牌的值,或位于所有現(xiàn)有"堆"的右邊,從而形成新"堆"。

當(dāng)沒(méi)有剩余的牌要發(fā)時(shí),游戲就結(jié)束了。

本文將此紙牌游戲轉(zhuǎn)化為一種兩階段排序算法,如下所示。給定一個(gè)由n個(gè)元素組成的數(shù)組,這些元素來(lái)自一個(gè)完全有序的域,將這個(gè)數(shù)組看作是紙牌的集合,并模擬patience排序游戲。當(dāng)游戲結(jié)束時(shí),通過(guò)反復(fù)取出最小可見(jiàn)卡,恢復(fù)排序后的序列;換句話說(shuō),執(zhí)行p堆的p-way合并,每個(gè)p堆都是內(nèi)部排序的。

PHP實(shí)現(xiàn)耐心排序算法的代碼實(shí)例如下:

<?php
class PilesHeap extends SplMinHeap {
    public function compare($pile1, $pile2) {
        return parent::compare($pile1->top(), $pile2->top());
    }
}
function patience_sort($n) {
    $piles = array();
    //排序成堆
    foreach ($n as $x) {
        //二進(jìn)位檢索
        $low = 0; $high = count($piles)-1;
        while ($low <= $high) {
            $mid = (int)(($low + $high) / 2);
            if ($piles[$mid]->top() >= $x)
                $high = $mid - 1;
            else
                $low = $mid + 1;
        }
        $i = $low;
        if ($i == count($piles))
            $piles[] = new SplStack();
        $piles[$i]->push($x);
    }
    // 優(yōu)先隊(duì)列允許我們有效地合并堆
    $heap = new PilesHeap();
    foreach ($piles as $pile)
        $heap->insert($pile);
    for ($c = 0; $c < count($n); $c++) {
        $smallPile = $heap->extract();
        $n[$c] = $smallPile->pop();
        if (!$smallPile->isEmpty())
            $heap->insert($smallPile);
    }
    assert($heap->isEmpty());
}
$a = array(100, 54, 7, 2, 5, 4, 1);
patience_sort($a);
print_r($a);

輸出:

Array 
( 
[0] => 100 
[1] => 54 
[2] => 7 
[3] => 2 
[4] => 5 
[5] => 4 
[6] => 1 
)

以上就是PHP實(shí)現(xiàn)patience sort算法的具體操作,代碼詳細(xì)清楚,如果在日常工作遇到這個(gè)問(wèn)題,希望你能通過(guò)這篇文章解決問(wèn)題。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

名稱(chēng)欄目:PHP實(shí)現(xiàn)patiencesort算法-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://aaarwkj.com/article46/hoieg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、微信小程序做網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷(xiāo)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
国产剧情在线观看网站| 色91精品在线观看剧情| 亚洲av综合日韩精品久久| 国产黄色一区二区三区四区| 亚洲欧美日韩成人在线观看| 国产91高清免费视频| 91嫩草国产在线观看| 黄色国产欧美国产亚洲| 国产一区二区三区av在线播放| 免费看国产一级黄色大片| 国产美女冒白浆视频免费| 最新中文字幕成人在线观看| 日韩不卡区高清在线视频| 9热在线视频精品这里只有| 毛片精品一区二区二区三区 | 黄色黄色片黄色片黄色| 日本不卡一区二区三区四| 日本高清有码中文字幕| 国语对白刺激真实精品| 岛国毛片在线免费播放| 亚洲美女毛茸茸的逼逼| 日本一区欧美二区精品| 韩国午夜福利视频网站| 关于男女性生活的视频| 91狠狠综合久久精品| 欧美精品一区二区精品久久| 中文字幕五月婷婷免费| 伊人激情久久综合中文字幕| 97国产一区二区精品久久呦| 国产情侣最新地址在线| 国产精品国产三级国产av一区| 亚洲综合色视频在线播放| 中文字幕av免费专区| 四虎精品国产一区二区三区| 免费在线成人av观看| 国产精品_国产精品_k频道| av天堂资源地址在线观看| 高清高潮少妇一区二区三区| 91国产自拍在线视频| 四虎海外永久免费地址| 欧美日韩激情在线一区|