Syans enfòmatik se tout sou konpreyansyon konpleksite yo nan algoritm ak estrikti done.
Ou gen yon lis atik ki bezwen klase, men ou pa gen tan oswa resous pou itilize yon algorithm klasman ki pi konplèks.
Triyay ensèsyon se youn nan algoritm klasman ki pi senp, men li ka ralanti pou lis gwo.
Fasil aplikasyon ak konpreyansyon yo te fè metòd sa a pi renmen nan mitan pwogramasyon yo. Li pafè pou ti lis oswa lè ou bezwen yon solisyon rapid.
Nan pòs blog sa a, nou pral gade konpleksite tan nan klasman ensèsyon. Yo itilize algorithm sa a pou sòt etalaj, epi li gen yon tan exécute O(n2). Sa vle di ke konpleksite tan an ogmante ak gwosè a nan etalaj la.
Sepandan, algorithm sa a ka pi vit souvan pase lòt algorithm klasman, tankou quicksort.
Ann pran yon gade pi pre nan ki jan klasman ensèsyon travay!
Ki sa ki Algorithm Triye Ensèsyon?
Yon eleman nan yon moman, sòt ensèsyon jenere yon etalaj sortable, ki souvan rele kòm yon lis.
Pou egzanp, klasman yo aplike nan pwogram òdinatè konplike tankou konpilateur, kote lòd la nan marqueur enpòtan nan entèpretasyon an nan pwogram nan.
Ki jan Triye Ensèsyon travay?
Lè nou itilize sòt ensèsyon pou sòt yon etalaj, algorithm la kòmanse pa jwenn atik ki pi piti a nan lis la epi mete li nan pozisyon ki kòrèk la.
Lè sa a, li jwenn pwochen atik ki pi piti a epi foure li nan pozisyon ki kòrèk la, ak sou sa.
Algorithm la travay pa boukle nan lis la, konpare chak atik ak youn nan ki vini anvan li.
Si atik yo nan move lòd, algorithm la chanje yo. Lè sa a, li tcheke pou wè si lis la klase, epi si li se, algorithm la fini.
Nan pratik, sòt ensèsyon souvan aplike lè l sèvi avèk kèk liy nan kòd, fè li yon chwa popilè pou klasman ti etalaj. Sepandan, konpleksite tan ta dwe konsidere lè w ap itilize algorithm sa a.
Egzanp:
Men yon egzanp sou fason klasman ensèsyon travay. Nou pral itilize etalaj sa a:
1, 2, 3, 4, 5, 6
Algorithm la kòmanse pa jwenn atik ki pi piti a nan lis la, ki se 1. Lè sa a, li foure li nan pozisyon ki kòrèk la, premye pozisyon an. Lè sa a, li jwenn pwochen atik ki pi piti a, ki se 2. Li foure li nan pozisyon ki kòrèk la, ki se dezyèm pozisyon an.
Lè sa a, li jwenn pwochen atik ki pi piti a, ki se 3. Li foure li nan pozisyon ki kòrèk la, ki se twazyèm pozisyon an.
Lè sa a, li jwenn pwochen atik ki pi piti a, ki se 4. Li foure li nan pozisyon ki kòrèk la, ki se pozisyon nan katriyèm, ak sou sa. Lis la kounye a klase!
Nou ka wè nan egzanp lan ke algorithm la pran sis konparezon ak swap yo sòt lis la. Sa a se paske li pran n2 konparezon ak echanj pou sòt yon lis n atik. Nan ka sa a, n = 6.
Ki jan yo amelyore ensèsyon Triye tan konpleksite?
Pandan ke sòt ensèsyon gen yon tan exécute nan O (n2), li ka amelyore lè w itilize yon pi bon algorithm klasman, tankou quicksort.
Quicksort gen yon tan O(n log n), ki pi rapid pase O(n2).
Sepandan, nan kèk ka, klasman ensèsyon ka pi vit pase quicksort.
Pou egzanp, si lis la deja nan lòd, klasman ensèsyon pral pran mwens tan pase quicksort.
Nan pratik, sòt ensèsyon souvan aplike lè l sèvi avèk kèk liy nan kòd, fè li yon chwa popilè pou klasman ti etalaj.
Sepandan, konpleksite tan ta dwe konsidere lè w ap itilize algorithm sa a.
Konpleksite tan
Konpleksite pi move ka O(n2):
Konpleksite tan an ogmante ak gwosè etalaj la. Li pran n2 konparezon ak echanj pou sòt yon lis n atik.
Pou egzanp, si nou gen yon etalaj ki gen gwosè 1000, algorithm la pral pran 1,000,000 konparezon ak swap pou sòt etalaj la.
Pi bon ka konpleksite O(n):
Konpleksite tan an se menm jan ak gwosè a nan etalaj la opinyon. mwen
t pran n konparezon ak swap pou sòt yon lis n atik. Pa egzanp, konsidere yon etalaj gwosè 5. Algorithm la pral pran senk konparezon ak swap pou sòt etalaj la.
Mwayèn Konpleksite Ka O(n2):
Konpleksite tan an se ant konpleksite ki pi move ak pi bon nan ka sa a.
Li pran n2 konparezon ak echanj pou sòt yon lis n atik.
Kidonk, klasman ensèsyon se yon algorithm klasman ki estab.
Poukisa Triye Ensèsyon Estab?
Sòt ensèsyon an estab paske li prezève lòd eleman egal nan etalaj la opinyon.
Sa a enpòtan pou anpil aplikasyon, tankou rekipere done oswa analiz finansye. Pou egzanp, si nou gen de lis nimewo epi nou vle konpare yo, nou bezwen asire w ke se lòd eleman yo konsève.
Si lis yo pa klase, nou p ap konpare yo avèk presizyon.
Kite yon Reply