SylabUZ

Generate PDF for this page

Algorithms and Data Structures - course description

General information
Course name Algorithms and Data Structures
Course ID 11.3-WI-INFP-AiSD
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies First-cycle studies leading to Engineer's degree
Beginning semester winter term 2022/2023
Course information
Semester 1
ECTS credits to win 5
Course type obligatory
Teaching language polish
Author of syllabus
  • prof. dr hab. inż. Andrzej Obuchowicz
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Laboratory 30 2 18 1,2 Credit with grade
Lecture 30 2 18 1,2 Exam

Aim of the course

  • zapoznanie studentów z własnościami algorytmów, oraz z zasadami i ograniczeniami ich projektowania;
  • zapoznanie studentów z podstawowymi strukturami danych i algorytmami je obsługującymi, oraz podstawowymi algorytmami rozwiązującymi wybrane zagadnienia algorytmiczne;
  • ukształtowanie umiejętności budowania algorytmów dla prostych zadań algorytmicznych.

Prerequisites

brak

Scope

Algorytm i jego własności: pojęcie problemu algorytmicznego i algorytmu, własności algorytmów; struktury sterujące i schematy blokowe. Techniki programowania: rekurencja i derekursywacja, programowanie typu „dziel i rządź”, algorytmy zachłanne, programowanie dynamiczne.

Struktury danych: pojęcie struktury danych, zbiory dynamiczne, zbiory liniowo uporządkowane, słownik; kolejki i stosy; kolejki priorytetowe.

Słowniki: listy jedno- i dwukierunkowe, listy cykliczne, drzewa przeszukiwań binarnych BST i AVL, drzewa czerwono-czarne; struktury samoorganizujące się, drzewa przeszukiwań pozycyjnych, tablice haszujące, funkcje haszujące, techniki zapobiegania konfliktom; B-drzewa.

Zbiory i grafy: zbiory, grafy, reprezentacje grafów, przeszukiwanie wszerz i w głąb, algorytmy teoriografowe i sieciowe.

Analiza wybranych problemów algorytmicznych: przeszukiwanie liniowe i binarne, wybór k-tego elementu; wewnętrzne i zewnętrzne sortowanie danych; wyszukiwanie wzorca w tekście; algorytmy geometryczne; zagadnienie stronicowania; układy arytmetyczne; podstawowe techniki kompresji i kodowania danych.

Teaching methods

wykład: wykład konwencjonalny

laboratorium: ćwiczenia laboratoryjne

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład - warunkiem zaliczenia jest uzyskanie pozytywnej oceny z egzaminu w formie pisemnej i ustnej

Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich ćwiczeń laboratoryjnych, przewidzianych do realizacji w ramach programu laboratorium

Składowe oceny końcowej = wykład: 50% + laboratorium: 50%

Recommended reading

  1. Cormen T. H., Leiserson C. E., Rivest R. L.: Wprowadzenie do algorytmów, WNT, Warszawa, 1997
  2. Kotowski P.: Algorytmy + struktury danych = abstrakcyjne typy danych, Wyd. BTC, Warszawa, 2006
  3. Wróblewski P.: Algorytmy, struktury danych i języki programowania, Helion, Gliwice, 1997
  4. Aho A. V., Hopcroft J. E., Ullman J.D.: Algorytmy i struktury danych, Helion, Gliwice, 2003

Further reading

  1. Adamski T., Ogrodzki J.: Algorytmy komputerowe i struktury danych, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2005
  2. Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych, WNT, Warszawa, 1996
  3. Harris S., Ross J.: Od podstaw algorytmy, Helion, Gliwice, 2006
  4. Neapolitan R., Naimipour K.: Podstawy algorytmów z przykładami w C++, Helion, Gliwice, 2004
  5. Stephens R.: Algorytmy i struktury danych stosowane w Delphi 3, 4 i 5 z przykładami w Delhi, Helion, Gliwice, 2000
  6. Wirth N.: Algorytmy + struktury danych = programy, WNT, Warszawa, 2002

Notes


Modified by prof. dr hab. inż. Andrzej Obuchowicz (last modification: 07-04-2022 16:57)