[ Príspevkov: 2 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
MergeSort

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 10.10.2008 21:59 | MergeSort

Zdravim,

nevie niekto nahodou ako funguje MergeSort?


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
MergeSort

Registrovaný: 01.05.05
Príspevky: 13349
Témy: 1496 | 1496
Bydlisko: Bratislava
NapísalOffline : 10.10.2008 22:02 | MergeSort

Mergesort alebo triedenie zlučovaním je triediaci algoritmus, ktorý triedi v čase O(n log n). Je stabilný, ale netriedi na mieste. Je to algoritmus využívajúci techniku divide and conquer. Charakteristickou vlastnosťou je zlučovanie už utriedených podpostupností (merging). Používa sa napríklad pri triedení online, kde sa postupne dodávajú položky, ktoré majú byť utriedené (namiesto prístupu k celému poľu).

http://www.sprite.edi.fmph.uniba.sk/~sz ... eSort.html





Merge sort principiálne funguje v 3 krokoch:

rozdelenie zoznamu na 2 časti
zoradenie každej časti zvlášť
zlúčenie oboch častí
Jeho jednoduchý zápis by vyzeral asi takto:

Kód:
function mergesort(m)
    var list left, right
    if length(m) ≤ 1
        return m
    else
        middle = length(m) / 2
        for each x in m up to middle
            add x to left
        for each x in m after middle
            add x to right
        left = mergesort(left)
        right = mergesort(right)
        result = merge(left, right)
        return result
    end if


http://sk.wikipedia.org/wiki/Mergesort


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
 [ Príspevkov: 2 ] 


MergeSort




© 2005 - 2024 PCforum, edited by JanoF