Образец документа
Технологии
Компьютеры, программирование, электроника
Kārtošanas algoritmu salīdzināšana-
Kārtošanas algoritmu salīdzināšana
Образец документа24 Компьютеры, программирование, электроника, Математика
Nr. | Название главы | Стр. |
Anotācija | 2 | |
Saturs | 3 | |
Ievads | 4 | |
1. | Kārtošanas algoritmu teorētiskais apraksts | 5 |
1.1. | Bubble sort algoritms | 5 |
1.2. | Insertion sort algoritms | 5 |
1.3. | Selection sort algoritms | 6 |
1.4. | Shell sort algoritms | 6 |
1.5. | Heap sort algoritms | 7 |
1.6. | Merge sort algoritms | 8 |
1.7. | Quicksort algoritms | 10 |
1.8. | Radix sort algoritms | 12 |
2. | Algoritmu testēšanas programmas apraksts | 13 |
2.1. | Programmas izstrādes mērķi | 13 |
2.2. | Programmas darbības apraksts | 13 |
2.3. | Programmas pirmkods | 14 |
2.4. | Rezultātu izvades formāts | 19 |
3. | Testēšanas rezultāti | 20 |
3.1. | Excel fails, kas iegūts no programmas izvadītā .csv | 20 |
3.2. | Nejauši ģenerēti masīvi | 20 |
3.3. | Gandrīz sakārtoti masīvi | 21 |
3.4. | Sakārtoti masīvi | 22 |
3.5. | Apgriezti sakārtoti masīvi | 23 |
Secinājumi | 24 | |
Literatūras un atsauču saraksts | 25 |
SECINĀJUMI
Apskatot programmas izvades rezultātus, ir iespējams izdarīt secinājumus par algoritmu veiktspēju dažādu garumu un tipu masīviem.
Nejauši ģenerētiem masīviem visātrākie izrādījās quick sort paveidi, to darbības laikiem esot ļoti tuviem, atšķirībām esot gandrīz nenozīmīgām. Tiem sekoja merge sort paveidi, heap sort un shell sort. Radix sort no logaritmiskā laika vienādojumiem izrādījās vislēnākais, taču tā veiktspēja tik un tā bija daudz labāka par insertion sort, selection sort un bubble sort algoritmiem, ko izmantot nav ieteicams.
Tāpat bubble sort un selection sort bija vislēnākie algoritmi gandrīz sakārtotiem masīviem, taču šeit tiem sekoja „dual pivot” quick sort paveids, iespējams tā specifiskās implementācijas dēļ, jo pārējie quick sort algoritma paveidi veiktspējas ziņā darbojās labāk, lai gan „three way” paveids arī bija lēnākais no logaritmiskā laika algoritmiem. Īpatnējā kārtā visātrākais šeit izrādījās insertion sort algoritms.
Sakārtotiem masīviem situācija bija tāda pati kā gandrīz sakārtotajiem, jo atpalika bubble sort un selection sort, līdzīgi bija arī ar quick sort paveidiem, pārējām atšķirībām starp algoritmiem esot niecīgām.
Apgriezti sakārtotiem masīviem vislēnākais bija „three way” quick sort paveids, kam sekoja selection sort, un „dual pivot” quicksort paveids, bubble sort un insertion sort. Pārējo algoritmu rezultāti atkal bija ļoti tuvi viens otram.
Kopumā iespējams secināt sekojošo:
• Nekad nevajadzētu izmantot bubble sort un selection sort algoritmus.
• Kārtojot gandrīz sakārtotus, sakārtotus vai apgriezti sakārtotus datus vajadzētu atturēties no nestandarta quicksort paveidiem.
…
Referāta mērķis ir vairāku populāro kārtošanas algoritmu salīdzinājums, kā arī to optimālo izmantošanas situāciju atrašana. Sākumā tiek teorētiski aprakstīts katrs algoritms, tiek īsi izskaidroti to darbības principi, kā arī labākā un sliktākā gadījuma laika patēriņš izmantojot O notāciju. Pēc tam tiek aprakstīta testēšanas nolūkos sarakstītā programma, kuras mērķis ir empīriski novērtēt to darbības ātrumu un efektivitāti, standartizējot to testēšanas procesu, lai nepieļautu sistemātiskas dabas kļūdas. Iekļauts ir gan pašas programmas pirmkods (Java valodā), kā arī atbilstošo algoritmu klases. Pēc programmas izvadītajiem rezultātiem tiek izveidoti grafiki, lai uzskatāmi novērtētu rezultātus un varētu veikt secinājumus.
-
Diskrētās struktūras datorzinātnēs
Образец документа50 Компьютеры, программирование, электроника
-
Kārtošanas algoritmu salīdzināšana
Образец документа24 Компьютеры, программирование, электроника, Математика
-
Transporta uzdevums
Образец документа13 Компьютеры, программирование, электроника, Коммуникации, транспорт, связь
-
Ты можешь добавить любую работу в список пожеланий. Круто!Diskrētās struktūras datorzinātnēs
Образец документа для университета50
-
Transporta uzdevums
Образец документа для университета13
-
Mākslīgā intelekta pamati
Образец документа для университета20
-
Operētājsistēmas. Strupceļu novēršana. Baņķiera algoritms
Образец документа для университета12
-
Pirmais praktiskais darbs mācību priekšmetā "Operētājsistēmas"
Образец документа для университета5