Algoritmid ja andmestruktuurid (IAS0090)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
IAS0090
õppeaine nimetus eesti k
Algoritmid ja andmestruktuurid
õppeaine nimetus inglise k
Algorithms and Data Structures
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis
õppekeel
eesti keel
inglise keel
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
IACB17/25
ei
Ainet õpetavad struktuuriüksused
IA - arvutisüsteemide instituut
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õ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):
loenguid
2.0
loenguid
-
praktikume
1.0
praktikume
-
harjutusi
1.0
harjutusi
-
vastutav õppejõud
-
ÕPPEJÕU AINEKAVA INFO
õppetöö semester
õpetav õppejõud / üksus
õppetöö keel
Laiendatud ainekava
2025/2026 sügis
Viktor Leppikson, IA - arvutisüsteemide instituut
eesti keel
    kuva rohkem
    2024/2025 sügis
    Viktor Leppikson, IA - arvutisüsteemide instituut
    eesti keel
      2023/2024 sügis
      Viktor Leppikson, IA - arvutisüsteemide instituut
      eesti keel
        2022/2023 sügis
        Viktor Leppikson, IA - arvutisüsteemide instituut
        eesti keel
          2021/2022 sügis
          Viktor Leppikson, IA - arvutisüsteemide instituut
          eesti keel
            2020/2021 sügis
            Viktor Leppikson, IA - arvutisüsteemide instituut
            eesti keel
              2019/2020 sügis
              Viktor Leppikson, IA - arvutisüsteemide instituut
              eesti keel
                2018/2019 sügis
                Viktor Leppikson, IA - arvutisüsteemide instituut
                eesti keel
                  Ainekaart eesti keeles
                  Ainekaart inglise keeles