Kuidas rakendada Pythonis Merge Sort?



Siin on lihtne ja lihtne õpetus, kuidas õppida ühendama sortimist ning õppima selle algoritmi ja rakenduse Pythonis

See ajaveeb põhineb jagamise ja vallutamise lähenemisviisil. Ühenda sortimine on 'jaga ja võida' algoritm, kus probleem jagatakse alamprobleemideks ja liidetakse seejärel lahenduse vallutamiseks. See ajaveeb ühendamise ajal Sorteeri tutvustab teid allpool toodud teemadega üksikasjalikult -

Mis on Pythonis liitmise sortimine?

Ühendamise sortimine põhineb jagamise ja vallutamise algoritmil, kus sisendimassiiv jaguneb kaheks pooleks, seejärel sorteeritakse eraldi ja liidetakse lahenduseni tagasi. Funktsiooni ühendamist () kasutatakse sorditud liitmiseks .





Jaga ja lahuta lähenemine

  • Massiiv jagatakse pooleks ja protsessi korratakse kummagi poolega, kuni kumbki pool on suurusega 1 või 0.
  • Suuruse 1 massiiv on triviaalselt sorteeritud.
  • Nüüd on kaks sorteeritud massiivi ühendatud üheks suureks massiiviks. Ja seda jätkatakse seni, kuni kõik elemendid on ühendatud ja massiiv on sorteeritud.

Siin on pildi puhastamiseks ühendamise sordi visualiseerimine

Sisendmassiiv = [3,1,4,1,5,9,2,6,5,4]



Ühenda sort | Edureka Blogid | Edureka
Nüüd liigume rakenduse juurde.

kuidas pöörata täisarv pütoonis

Ühendamise sordi rakendamine Pythonis

def mergeSort (nlist): print ('Splitting', nlist), kui len (nlist)> 1: keskel = len (nlist) // 2 vasakpoolne = nlist [: keskel] paremal = nlist [keskel:] mergeSorteeri (vasakpoolne) mergeSort (paremal pool) i = j = k = 0, samas kui i

Väljund:

$ python main.py
(„Poolitamine”, [3, 1, 4, 1, 5, 9, 2, 6, 5, 4])
(‘Poolitamine’, [3, 1, 4, 1, 5])
(‘Poolitamine’, [3, 1])
(‘Lõhenemine’, [3])
(„Ühinemine”, [3])
(‘Lõhenemine’, [1])
(„Ühinemine”, [1])
(‘Ühendamine’, [1, 3])
(‘Poolitamine’, [4, 1, 5])
(‘Lõhenemine’, [4])
(„Ühinemine”, [4])
(‘Poolitamine’, [1, 5])
(‘Lõhenemine’, [1])
(„Ühinemine”, [1])
(„Lõhenemine“, [5])
(„Ühinemine”, [5])
(‘Ühendamine’, [1, 5])
(‘Ühendamine’, [1, 4, 5])
(‘Ühendamine’, [1, 1, 3, 4, 5])
(‘Poolitamine’, [9, 2, 6, 5, 4])
(‘Poolitamine’, [9, 2])
(„Lõhenemine“, [9])
(„Ühinemine”, [9])
(„Lõhenemine“, [2])
(„Ühinemine”, [2])
(‘Ühendamine’, [2, 9])
(‘Poolitamine’, [6, 5, 4])
(„Lõhenemine“, [6])
(„Ühinemine”, [6])
(‘Poolitamine’, [5, 4])
(„Lõhenemine“, [5])
(„Ühinemine”, [5])
(‘Lõhenemine’, [4])
(„Ühinemine”, [4])
(‘Ühendamine’, [4, 5])
(‘Ühendamine’, [4, 5, 6])
(‘Ühendamine’, [2, 4, 5, 6, 9])
(‘Ühendamine’, [1, 1, 2, 3, 4, 4, 5, 5, 6, 9])
[1, 1, 2, 3, 4, 4, 5, 5, 6, 9]



transformatsiooni tüübid informaatikas

Vooskeem ühendamise sortimise rakendamiseks

Ühendamise sortimise eelised ja kasutamine

Enamik teisi algoritme töötavad halvasti järjestikuste andmestruktuuridega nagu failid ja lingitud loendid. Nendes struktuurides võtab juhusliku elemendi juurde pääsemine aega lineaarse, mitte regulaarse püsiva aja. Ja ühendamissordi olemus muudab selle selliste andmestruktuuride jaoks lihtsaks ja kiireks.Ühendamissorteerimise üks parimaid omadusi on vähene võrdluste arv. See muudab O (n * log (n)) võrdluste arvu, kuid konstantne tegur on võrreldes quicksortiga hea, mis muudab selle kasulikuks, kui võrdlusfunktsioon on aeglane operatsioon.Samuti muudab ühendamise sordi jagamise ja vallutamise lähenemine selle paralleelseks töötlemiseks mugavaks.

Sellega oleme jõudnud selle ajaveebi lõppu teemal “Kuidas rakendada Pythonis Merge Sort”. Loodan, et sisu andis teie teadmistele Pythonis lisaväärtust. Põhjalike teadmiste saamiseks Pythoni ja selle erinevate rakenduste kohta saate registreeruda otseülekandeks 24/7 toe ja ligipääsuga eluaeg.