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?
- Jaga ja lahuta lähenemine
- Ühendamise sordi rakendamine Pythonis
- Sõlmimisvaliku rakendamise vooskeem
- Eelised ja kasutamine
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]
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 iVä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 informaatikasVooskeem ü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.