Termin: poniedziałki 10:15, sala 3240 lub lab 3044
Najbliższe zajęcia: 13.06 w sali 3240.
Materiały: na stronie dra hab. Zawadowskiego.
Propozycje tematów zadania programistycznego.
Zajęcia 31.05: grafy - przykłady przeszukiwania wszerz i wgłąb, sortowania topologicznego i szukania silnie spójnych składowych. Sprawdzanie zachowania spójności po usunięciu wierzchołka. Szukanie wierzchołka o najkrótszej sumie długości ścieżek do dwóch ustalonych wierzchołków.
Zajęcia 23.05: grafy - plik z tworzeniem i wypisywaniem grafu i przykładowe wejście. Programowanie podstawowych funkcji dla grafów: przejście między listą i macierzą incydencji, transpozycja, obliczanie stopni wierzchołków. Sprawdzanie, czy graf jest drzewem (przykładowy kod i dane wejściowe).
Zajęcia 16.05: grafy - przejścia pomiędzy różnymi reprezentacjami, sprawdzanie, czy graf jest cyklem prostym, przeszuiwania wszerz i w głąb.
Notatki ze zdalnych zajęć.
Zajęcia 9.05: zadanie w ramach kolokwium: treść zadania wraz z potrzebnym kodem i przykładowe dane testowe.
Zajęcia 25.04: powtórzenie przed kolokwium. Kostrukcja drzew czerwono-czarnych o zadanych kluczach węzłów. Usuwanie powtórzeń z listy dwukierunkowej. Znajdowanie wspólnych elementów trzech list uporządkowanych. Lepsze rozwiązanie zadania o wypisywaniu wartości niebdących kluczami danego drzewa BST.
Zajęcia 11.04: Dodawanie elementów do drzewa czerwono-czarnego. Usuwanie liści o parzystych kluczach większych niż dana wartość z drzewa BST.
Zajęcia 4.04:
Podstawowe operacje na drzewach BST: kod.
Zadania o drzewach BST: sprawdzanie stabilności drzewa (wierzchołek jest stabilny, jeśli wszystkie drogi od niego do korzenia mają taką samą długość), szukanie najdłuższej luki pomiędzy kluczami.
Zajęcia 28.03: Zadania o drzeach BST: wypisywanie liczb, które nie są kluczami danego drzewa, zliczanie wierzchołków, które mają dokładnie jednego syna, sprawdzanie, czy drzewo jest sbalansowane (poddrzewa w dowolnym wierzchołku o prawie identycznej długości). Wprowadzenie do drzew czerwono-czarnych.
Zajęcia 24.03 (za 7.03):
Zajęcia 21.03: wprowadzenie do drzew BST - dodawanie i usuwanie elementów, przykłady. Ogólna metoda: procedury wywołujące się rekurencyjnie w poddrzewach. Wypisywanie drzewa w kolejności porządku na kluczach. Zliczanie różnych kluczy w drzewie. Szukanie węzła wewnętrznego, który ma w obu poddrzewach tyle samo węzłów.
Zajęcia 14.03: ponieważ poprzednie zajęcia nie odbyły się w terminie, to zaczęliśmy implementować listy. Było dodawanie i usuwanie elementów, wypisywanie, wczytywanie ze standardowego wejścia i z pliku oraz usuwanie k-tego elementu dla danego k. Następnym razem wykorzystamy napisane funkcje do dokończenia sortowania przez scalanie i innych zadań.
Zadania na zajęcia 7.03 (zajęcia przeniesione na 24.03):
Zajęcia 28.02: implementowaliśmy listy jednokierunkowe, za ich pomocą tworzyliśmy stos i kolejkę. Przy okazji powtórzyliśmy, jakie operacje można chcieć wykonywać na listach, jak mogłaby wyglądać implementacja listy na tablicy i do jakich operacji by się nadawała. Ponadto powtórzyliśmy algorytmy sortowania. Zadanie domowe: przemyśleć wczytywanie i wypisywanie list oraz implementację podziału listy na elementy mniejsze i większe od danej liczby (podobne procedury będziemy programować na kolejnych zajęciach).
© 2020 Marysia Donten-Bury; the website is hosted on the MIM UW Faculty server