Saskaņots



Yüklə 49.21 Kb.
tarix08.08.2018
ölçüsü49.21 Kb.

Datu struktūras (DIP203, 3 kp)
Mācību priekšmeta apjoms: lekcijas - 32 stundas, laboratorijas nodarbības - 16 stundas, kopā - 48 st.
Kontrole – eksāmens, kursa darbs.
Priekšmeta saturs.
Mācību priekšmeta mērķis un uzdevumi. Datu struktūras jēdziens. Datu tipa koncepcija. Datu struktūru klasifikācija. Biežāk lietoto datu struktūru raksturojums. Loģiskas un fiziskas datu struktūras. Abstrakcija. Abstrakts datu tips, tā priekšrocības un raksturojums. Elementārās datu struktūras. Alfabēta simbolu attēlošana tekstos ar mainīgu bitu skaitu, Hafmeņa kods. Metrika. Datu struktūru un algoritmu sarežģītības pakāpes un efektivitātes vērtēšana. Vienkāršas strukturētas datu struktūras. Rakstzīmju virknes, to izveidošanas paņēmieni. Rakstzīmju virknes specifikācija, attēlojums un izveide. Rakstzīmju virkņu meklēšanas algoritmi. Lineāras un sakārtotas datu struktūras. Masīvi, to veidi, specifikācija, attēlojums un izveide. Masīva adresācijas funkcijas un tās lietojums. Vektori, algoritmi vektora elementa sameklēšanai. Matricas, vairākdimensiju masīvi, to adresācijas funkcijas. Speciālie masīvi: trijstūrmatricas, simetriskās matricas, retinātās matricas, to specifikācija, attēlojums un izveide. Rādītāja masīvi. Dinamiskie masīvi. Šķirošanas algoritmos klasifikācija. Masīvos šķirošanas klasiskie algoritmi – taisnas ielikšanas metode, taisnas izvēles metode, bināras ielikšanas metode, burbuļa metode, šeikera šķirošana, Šella metode, koku šķirošana, šķirošana caur piramīdu (heapsort), ātra šķirošana. Secības šķirošanas klasiskie algoritmi – taisna saplūšana un dabiska saplūšana. Ieraksti, ieraksti ar variantiem. Ierakstu specifikācija, attēlojums un izveide. Nobīdes izmantošana ieraksta elementu pieejai. Ierakstu masīvi (tabulas) un masīvi ieraksti. Lineāras datu struktūras jēdziens un veidi. Saraksti, to raksturojums un apstrādes operācijas. Vektora formā realizēta saraksta specifikācija, attēlojums un izveide. Rādītāji un vienkāršsaistīti saraksti. Vienkāršsaistīti saraksta specifikācija, attēlojums un izveide. Divkāršsaistīti saraksti, to lietojums un izveidošanas paņēmieni. Divkāršsaistīta cirkularā saraksta specifikācija, attēlojums un izveide. Saraksta apstrādes operāciju efektivitātes vērtējums. Sakārtota saraksta jēdziens un veidi. Hronoloģiski sakārtoti saraksti. Sašķiroti saraksti. Binārās meklēšanas algoritms un tā paveidi sašķirota saraksta elementa sameklēšanai. Pēc lietojuma biežuma sakārtoti saraksti. Pašorganizēti saraksti. Steka jēdziens. Vektora formā realizēta steka specifikācija, attēlojums un izveide. Steka pāra specifikācija, attēlojums un izveide. Saistīta saraksta formā realizēta steka specifikācija, attēlojums un izveide. Hronoloģiski sakārtota saraksta izmantošana steka izveidei. Rindas jēdziens. Vektora formā realizētas rindas specifikācija, attēlojums un izveide. Cirkulārais rindas izveidošana. Rindas realizācija saistīta saraksta formā. Prioritārās rindas, to izveidošanas paņēmieni. Deka jēdziens un izveides un izmantošanas paņēmieni. Nelineāras datu struktūras jēdziens un klasifikācija. Kokveida datu struktūras jēdziens un raksturlielumi. Koku klasifikācija. Binārie koki, to raksturojums, raksturlielumi un izmantošanas iespēja, koku apiešanas veidi: preorderālā, inorderālā un postorderālā apiešana. Bināro koku klasifikācijas veidi, attēlojums un izveides principi. Binārās meklēšanas koka jēdziens un lietojums. APL – koka jēdziens un lietojums. B – koka jēdziens un lietojums. Grafa jēdziens. Grafa apiešana un tā realizācijas veidi. Grafa attēlojuma paņēmieni. Orientēti grafi. Tīkli, to raksturojums un izmantošanas iespējas. Strukturētas kopas jēdziens.

Mācību priekšmeta uzdevumi:

- apgūt datu struktūru pamatjēdzienus, klasifikāciju un izstrādes pamatprincipus;

- apgūt lineāru datu struktūru lietojuma specifiku, specifikāciju, attēlojuma formas un paņēmienus, apstrādes operāciju izveidi un realizāciju uz programmēšanas valodas Pascal bāzes;

- iepazīsties ar nelineāru datu struktūru uzbūvi, raksturlielumiem un izveidošanas paņēmieniem;



Mācību grāmatas, izmantojamās un ieteiktās literatūras saraksts:

  1. Matisons G., Zaiceva L. Studiju darbu izstrāde. Norādījumi, uzdevumi, piemēri. – Rīga: RTU, 2000

  2. Никлаус Вирт, Алгоритмы и структуры данных, СПб: “Невский Диалект”, 2001, перевод с английского – 2-е издание (Niklaus Wirth - Algorithms and data structures)

  3. Дональд Э. Кнут, Искусство программирования, в 3х томах, М.: Издательский дом “Вильямс”, 2000, перевод с английского – 3-е издание (Donald E. Knut, Stanford University - The art of computer programming)

  4. Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман, Структуры данных и алгоритмы, М.: Издательский дом “Вильямс”, 2000, перевод с английского (Аalfred V. Aho, Bell Laboratories; John E. Hopkroft, Cornel University; Jeffrey D. Ullmah, Stanford University - Data structures and algoritms)

  5. Уильям Топп, Уильям Форд, Структуры данных в C++, М.: ЗАО “Издательство БИНОМ”, 1999, перевод с английского (William Ford, University of the Pacific; William Topp, University of the Pacific - Data structures with C++)

  6. Ф. А. Новиков, Дискретная математика для программистов, СПб: Питер 2001.

  7. Бьерн Страуструп, Язык программирования C++, СПб; М.: “Невский Диалект”, “Издательство БИНОМ”, 1999, перевод с английского – 3-е издание (Bjarne Stroustrup, AT&T Labs - The C++ programming language)

  8. Иан Соммервилл, Инженерия программного обеспечения, М.; СПб; Киев: Издательский дом “ВИЛЬЯМС”, 2002, перевод с английского - 6-е издание (Ian Sommerville, Software Engineering).

  9. Структуры данных в C++, Уильям Топп, Уильям Форд, М., Издательство Бином, 1999, перевод с английского, Data Structures with C++, William Ford, William Topp.

  10. Язык программирования C++, Бьерн Страуструп, Издательство Бином, 1999, перевод с английского – третье издание, The C++ programming language, Bjarne Straustrup, AT&T Labs

  11. Язык Турбо Си, Р. Уинер, М., Издательство ”Мир”, 1991, перевод с английского, Turbp C at Any Speed, Richard S. Wiener

  12. Программирование на C++, Стефан Дьюхарст, Кэти Старк, Киев, НИПФ “ДиаСофт”, 1993, перевод с английского, Programming in C++, Stephen C. Dewhurst, Kathy T. Stark, AT&T Bell Laboratories

  13. Справочник по классам Borland C++ 3.1/4.0, п.р. И.И. Диреева, Киев “Диалектика”, 1994

  14. Основы C++ и объектно-ориентированного программирования, Намир К. Шаммас, Киев “Диалектика”, 1996, перевод с английского, Foundations of C++ and object-oriented programming, Namir C. Shammas

Priekšmeta apgūšanas vērtēšanas principi:
atzīme:

  1. spējas un sasniegumus atbilstoši akadēmiskajiem mērķiem un profesionālisma prasībām;

  2. radošās spējas attīstīt un izmantot mācību priekšmetā iegūtās zināšanas mācību procesā un zinātniskās pētniecības darbā;

  3. aktivitāti, nodarbību apmeklēšanu, un veicamo darbu savlaicīgu izpildi un eksāmena kārtošanu termiņa.

Vērtējuma “svari”: eksāmens un kontroldarbi – 80 %, aktivitāte, piedalīšanās diskusijās – 5 %,mājas darbi un projekti – 15 %

Laboratorijas darbu saraksts:

Nodarbību numurs

Darba posmi

Izsniegšanas datums

Nodošanas termiņš

1.

Masīvu šķirošanas dažādos algoritmos.

1. nedēļa

3. nedēļa

2.

Datu meklēšana sakārtotā masīvā.

3. nedēļa

5. nedēļa

3.

Lineāru vienvirzienu sarakstu konstruēšana.

5. nedēļa

7. nedēļa

4.

Steku FILO un FIFO konstruēšana ar masīva palīdzību.

7. nedēļa

9. nedēļa

5.

Steku FILO un FIFO konstruēšana ar saraksta palīdzību.

10. nedēļa

12. nedēļa

6.

Sakārtotu bināru koku konstruēšana.

12. nedēļa

14. nedēļa

7.

Balansētu bināru koku konstruēšana.

14. nedēļa

15. nedēļa

8.

Asociatīvu sarakstu konstruēšana.

15. nedēļa

16. nedēļa


Studiju darbi:

Studiju darbu uzdevumi, to izpildes kalendārais plāns, metodiskie norādījumi un studiju darba izpildes piemērs ir aprakstīti darbā [ 1 ].



Studiju darba tēmas piemēri:

  1. Dažādu masīvu, failu un sarakstu sakārtošanas algoritmu realizācija un salīdzināšana.

  2. Hafmana algoritma realizācija ar bināro koku palīdzību.

  3. Rindu meklēšana teksta failā (Knuta-Morisa-Pratta vai Bouera-Murra algoritmi).

  4. Ģenealoģisko koku konstruēšana un apstrādāšana.

  5. Koku izmantošana studentu testēšanā .

  6. Matemātiskas izteiksmes interpretācija.

  7. Datu struktūras izmantošana dinamiskās spēlēs.

Darba izpildes grafiks:

Nr.

Darba posmi

Nodošanas termiņš

1.

Uzdevuma izsniegšana

2. nedēļa

2.

Programmas projekta izstrādāšana

7. nedēļa

3.

Programmas izstrādāšana

9. nedēļa

4.

Programmas atkļūdošana un testēšana

13. nedēļa

5.

Pārskata nodošana

14. nedēļa

6.

Pārskata aizstāvēšana

15. nedēļa


Mācību līdzekli:

Grāmatas un rokasgrāmatas C++ un Pascal valodas elektroniska veidā.



Mācību procesa nodrošinājums:

  1. Tehniskas nodrošinājums - divas datoru klases ar 30 datoriem, lokāls datoru tīkls ar Internēta pieslēgšanu.

  2. Programmas nodrošinājums – Borland C++ v3.11, Borland C++ Builder, MS Visual Studio (MS Visual C++), operētājsistēmas – MS Windown NT Workstation 4.0, MS Windows XP, RedHat Linux.









Dostları ilə paylaş:


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2017
rəhbərliyinə müraciət

    Ana səhifə