Lisi o Mataupu[Natia][Fa'aali]
Fa'asaienisi komepiuta e fa'atatau i le malamalama i lavelave o algorithms ma fa'amaumauga fa'amaumauga.
E iai sau lisi o mea e mana'omia ona fa'avasega, ae e leai sou taimi po'o ni puna'oa e fa'aoga ai se fa'avasegaga fa'apitoa e sili atu ona lavelave.
Fa'aofiina fa'avasegaina o se tasi lea o fa'avasega fa'avasega faigofie, ae e mafai ona fa'agesegese mo lisi tetele.
Faigofie le faʻatinoina ma le malamalama ua avea ai lenei metotia ma mea e sili ona fiafia i ai le au fai polokalame. E fetaui lelei mo lisi laiti poʻo pe ae manaʻomia se fofo vave.
I totonu o lenei blog post, o le a tatou vaʻavaʻai i le taimi faigata o le faʻaofiina o le faʻavasegaina. O lenei algorithm e faʻaaogaina e faʻavasega ai faʻasologa, ma o loʻo i ai se taʻaloga o le O (n2). O lona uiga e fa'atuputeleina le lavelave o le taimi i le tele o le fa'asologa.
Ae ui i lea, o lenei algorithm e mafai ona vave tele nai lo isi fa'avasegaga algorithms, pei ole quicksort.
Se'i o tatou va'ava'ai toto'a ile fa'aogaina ole fa'avasegaga fa'aofi!
O le a le Algorithm Fa'aofiina?
E tasi le elemene i le taimi, fa'aofi fa'avasega fa'atupuina se fa'avasega fa'avasega, lea e masani ona ta'ua o se lisi.
Mo se faʻataʻitaʻiga, o le faʻavasegaina o loʻo faʻaaogaina i polokalama faʻapipiʻi lavelave e pei o tagata faʻapipiʻi, lea e taua ai le faʻasologa o faʻailoga i le faʻamatalaina o le polokalame.
E fa'afefea ona galue le fa'aofiina?
A matou faʻaogaina faʻapipiʻi faʻavasega e faʻavasega se laina, e amata le algorithm i le suʻeina o le mea laʻititi i le lisi ma faʻapipiʻi i le tulaga saʻo.
Ona su'e lea o le isi mea aupito itiiti ma fa'aofi i le tulaga sa'o, ma fa'asolo atu ai.
O le algorithm e galue e ala i le suʻeina o le lisi, faʻatusatusa mea taʻitasi i le mea e sau i luma.
Afai o mea o loʻo i ai i se faasologa sese, o le algorithm e fesuiaʻi. Ona siaki lea e vaʻai pe faʻavasega le lisi, ma afai o lea, e muta le algorithm.
I le fa'ata'ita'iga, e masani ona fa'atinoina le fa'aofiina i le fa'aogaina o ni nai laina fa'ailoga, ma avea ma filifiliga lauiloa mo le fa'avasegaina o fa'asologa laiti. Ae ui i lea, e tatau ona mafaufau i taimi faigata pe a faʻaaogaina lenei algorithm.
faataitaiga:
Ole fa'ata'ita'iga lea ole fa'aogaina ole fa'aofiina. O le a matou faʻaaogaina le laina nei:
1, 2, 3, 4, 5, 6
O le algorithm e amata i le sailia o le mea pito sili ona laʻititi i le lisi, o le 1. Ona faʻapipiʻi lea i le tulaga saʻo, le tulaga muamua. Ona maua lea o le isi mea la'ititi, o le 2. E fa'aofi i le tulaga sa'o, o le tulaga lona lua lea.
Ona maua lea o le isi mea la'ititi, o le 3. E fa'aofi i le tulaga sa'o, o le tulaga lona tolu lea.
Ona su'e lea o le isi mea la'ititi, o le 4. E fa'aofi i le tulaga sa'o, o le tulaga fa lea, ma fa'apea. Ua fa'avasega nei le lisi!
E mafai ona tatou vaʻai mai le faʻataʻitaʻiga o le algorithm e ono faʻatusatusaga ma swap e faʻavasega le lisi. E mafua ona e mana'omia n2 fa'atusatusaga ma swap e fa'avasega se lisi o mea n. I lenei tulaga, n=6.
Fa'afefea ona Fa'aleleia le Fa'aofiina Fa'avasega Taimi Lavelave?
A'o fa'aofiina fa'asologa o lo'o iai le taimi fa'agasolo o O(n2), e mafai ona faʻaleleia e ala i le faʻaaogaina o se algorithm e sili atu ona faʻavasega, pei ole quicksort.
O le Quicksort o loʻo i ai le O(n log n) taimi, e sili atu le vave nai lo O(n2).
Ae ui i lea, i nisi tulaga, o le fa'aofiina fa'avasega e mafai ona vave nai lo le fa'avasega vave.
Mo se fa'ata'ita'iga, afai ua uma ona fa'atonu le lisi, o le fa'aofiina o le fa'avasegaina o le a fa'aitiitia le taimi nai lo le fa'avasega vave.
I le fa'ata'ita'iga, e masani ona fa'atinoina le fa'aofiina i le fa'aogaina o ni nai laina fa'ailoga, ma avea ma filifiliga lauiloa mo le fa'avasegaina o fa'asologa laiti.
Ae ui i lea, e tatau ona mafaufau i taimi faigata pe a faʻaaogaina lenei algorithm.
Fa'alavelave Taimi
Mata'utia Fa'alavelave Lavela O(n2):
Ole lavelave ole taimi e fa'atupula'ia ile tele ole fa'asologa. E mana'omia n2 fa'atusatusaga ma swap e fa'avasega se lisi o mea n.
Mo se faʻataʻitaʻiga, afai o loʻo i ai la matou faʻasologa o le tele 1000, o le algorithm o le a ave 1,000,000 faʻatusatusaga ma sps e faʻavasega le laina.
Tulaga sili ona lavelave O(n):
Ole lavelave ole taimi e tutusa ma le tele ole laiga fa'aoga. I
e mana'omia ni fa'atusatusaga ma fesuia'i e fa'avasega ai se lisi o mea e n. Mo se faʻataʻitaʻiga, mafaufau i se faʻasologa o le tele 5. O le algorithm o le a ave faʻatusatusaga se lima ma swap e faʻavasega le laina.
Tulaga Lavelave O(n2):
Ole lavelave ole taimi ole va ole lavelave sili ona leaga ma sili ona lavelave ile tulaga lea.
E mana'omia n2 fa'atusatusaga ma swap e fa'avasega se lisi o mea n.
O le mea lea, o le fa'aofiina fa'avasegaina ose fa'amautu fa'avasega algorithm.
Aisea e Fa'aofi ai Fa'avasegaga Mausali?
Fa'aofi fa'avasega e mautu aua e fa'asaoina le fa'asologa o elemene tutusa i totonu o le fa'asologa o mea.
E taua tele lenei mea mo le tele o talosaga, e pei o le toe maua mai o faʻamaumauga poʻo suʻesuʻega tau tupe. Mo se faʻataʻitaʻiga, afai e lua a tatou lisi o numera ma manaʻo e faʻatusatusa i latou, e tatau ona tatou mautinoa o loʻo faʻasaoina le faasologa o elemene.
Afai e le fa'avasegaina lisi, matou te le fa'atusatusa sa'o.
Tuua se tali