õppeaine eesmärgid eesti k
1. Peamisteks eesmärkideks on:
1. Teha üliõpilastele selgeks põhilised ideed, millede järgi andmekirjed on organiseeritud erineva ülesehitusega struktuuridesse ja salvestatud arvuti mällu.
2. Kirjeldada ja selgitada põhilisi algoritme, mida kasutatakse erinevates andmestruktuurides paiknevate andmetega teostatavates tüüpoperatsioonides (kirjete lisamine ja eemaldamine, soovitud kirje otsimine, sortimine jne.).
3. Tutvustada andmetöötlusega seotud teoreetilisi probleeme (abstraktsed tüübid, algoritmide keerukus jne.).
4. Parandada üliõpilaste praktilise programmeerimise oskust keeles C.
õppeaine eesmärgid inglise k
The primary goals are:
1. Give the students a basic understanding of ideas following which data records are organized into different data structures and stored into computer memory.
2. Describe and explain the basic algorithms used on different data structures for main data processing operations like inserting and removing of records, searching a specific record, sorting, etc.
3. Give an overview about theoretical concepts like abstract types, complexity, etc.
4. Improve the students’ practical programming skills in C.
õppeaine õpiväljundid eesti k.
Eksami edukalt läbinud üliõpilased peaksid:
1. Tundma kõiki põhilisi andmetöötluses kasutatavaid andmestruktuure.
2. Tundma nende andmestrukuuridega töötamisel kasutatavaid põhilisi andmetöötlusalgoritme.
3. Teadma põhjusi, mis mõjutavad andmetöötluse kiirust.
4. Suutma valida mingi konkreetse probleemi lahendamiseks kõige sobivamad andmestruktuurid.
5. Suutma valida mingi konkreetse probleemi lahendamiseks kõige sobivamad andmetöötlusalgoritmid.
6. Suutma kirjutada C-keelseid programme, mis opereerivad keerukate andmestruktuuridega.
õppeaine õpiväljundid ingl k.
After successfully completing this course, the student should:
1. Be acquainted with the most used data structures applied to store data in computer memory.
2. Be acquainted with the fundamental data processing algorithms on those structures.
3. Know the reasons affecting the data processing speed.
4. Be able to select data structures best suited for solution of a concrete data processing problem.
5. Be able to select algorithms best suited for solution of a concrete data processing problem.
6. Be able to implement C-programs operating with complicated data structures.
õppeaine sisu lühikirjeldus eesti k
1. Täiendavat materjali C-keelest.
2. Andmestruktuurid ja andmetöötluse põhilised operatsioonid. Massiiv. Lingitud struktuurid.
3. Mõningad spetsiifilised andmestruktuurid: hõre maatriks, ringpuhver jne.
4. Abstraktsed andmetüübid: loend, magasin, järjekord, sõnastik.
5. Algoritmide efektiivsuse hindamine.
6. Rekursioon ja rekursiivsed algoritmid.
7. Järjestikotsimine ja kahendotsimine.
8. Kahendpuud. Puu tasakaalustatuse probleem. AVL-puud.
9. Iseorganiseeruvad puud.
10. B-puud ja puna-must puud. B*-puud.
11. Välismälus olevate andmetega seotud probleemid. B+ puud.
12. Digitaalne puu ja trie-puu. Eksistentsitabelid ja kolmikpuu.
13. Prioriteetidega järjekord ja kuhi. Vasakule kaldus puu. Binoompuu ja binomiaalne kuhi.
14. Paiskepaigutus. Paigustusfunktsioonide koostamise meetodid. Aheldamine ja avatud adresseerimine. Laiendatav paiskepaigutus.
15. Lihtsamad sortimise algoritmid. Shelli meetod. Sortimine mestimisega. Kiirsortimine. Sortimine kuhja abil. Jaotamisega sortimine.
16. Tekstist otsimise probleem. Boyer-Moore’i ja Rabin-Karpi meetodid.
17. Andmete pakkimine. Huffmani kood. Lempel-Zivi meetodi alused.
18. Algoritmide tüübid. "Jaga-ja-valitse" algoritmid. Dünaamilise programmeerimise põhimõtted. Ahned algoritmid. Randomiseeritud algoritmid.
õppeaine sisu lühikirjeldus ingl k
1. Refreshing skills in C-programming.
2. Data structures and their building principles: arrays and linked structures. Operations on data structures.
3. Some specific data structures: sparse matrixes, circular buffers, etc.
4. Abstract data structures. List, stack, queue, dictionary.
5. Algorithm complexity analyses.
6. Recursion and recursive algorithms.
7. Sequental search and binary search.
8. Trees. Tree balancing problem. AVL-trees.
9. Self-organizing trees.
10. B-trees and red-black trees. B*-trees.
11. Structures for data stored in external memory. B+ trees.
12. Digital search trees and tries. Existence tables. Trinary trees.
13. Priority queue and heap. Leftist heaps. Binomial queues.
14. Hashing. Hash functions. Separate chaining and open addressing. Extendible hashing.
15. Simple sorting algorithms. Shell sort. Quick sort. Merge sort. Radix sort. Heap sort.
16. Pattern matching problem. Boyer-Moore method. Rabin-Karp method.
17. Data compression. Huffman coding. Lempel-Zivi method principles.
18. Types of algorithms. Divide and conquer algorithms. Greedy algorithms. Dynamic programming principles. Randomized algorithms.
hindamisviis eesti k
Kirjalik eksam. Eksamil esitatakse 10 suhteliselt lühikest vastust nõudvat küsimust. Hinde panemisel võetakse arvesse ka laboritööde eest saadud punkte.
hindamisviis ingl k
Written examination. On the examination 10 questions are asked, answers to them are relatively short. The mark depends on the points got for answers as well as on the points got for lab works.
iseseisev töö eesti k
Praktikumideks ettevalmistumine.
iseseisev töö ingl k
Preparation for practical works.
õppekirjandus
Vt. http://www.tud.ttu.ee/im/Viktor.Leppikson/
õppevormid ja mahud
päevaõpe: nädalatunnid
4.0
sessioonõppe töömahud (semestris):