Ćwiczenia
Kontynuujemy zadanie o wyrażeniach z poprzedniego tygodnia. Dziś dodamy upraszczanie wyrażeń. Chcemy, aby wyrażenia tworzyły się w postaci uproszczonej zgodnie z takimi regułami:- stała + stała → stała
- 0 + wyrażenie → wyrażenie
- wyrażenia + 0 → wyrażenie
- stała * stała → stała
- 1 * wyrażenie → wyrażenie
- wyrażenie * 1 → wyrażenie
Laboratorium
- Zaimplementuj drzewo BST przechowujace liczby całkowite. Chcemy uniknąć dużej liczby testów (czy jest lewe dziecko, czy jest prawe dziecko,...) w kodzie. Jak będziesz reprezentować puste drzewo? Wskazówka: użyj polimorfizmu.
- Kolejka priorytetowa to struktura danych, do której można wstawiać elementy i z niej je pobierać. Kolejność pobierania elementów zależy od priorytetu tych elementów, najpierw wydawane są elementy o wyższym priorytecie. Zdefiniuj i zaimplementuj interfejs KolejkaPriorytetowa z operacjami:
- void dodaj(int priorytet, String s) – dodaje do kolejki nowy napis z zadanym priorytetem.
- String[] pobierz() – pobiera z kolejki wszystkie napisy obiekty o najmniejszej wartości priorytetu (moze byc ich wiele, stad wynikiem jest tablica). Pobrane elementy są usuwane z kolejki.
- boolean czyPusta() – wynikiem jest true wtedy i tylko wtedy, gdy w kolejce nie ma już elementów.
Praca domowa nr8
Zadanie o drzewie BST. Termin oddania: 15 kwietnia 2015 r.Rozwiązanie należy wysłać mailem. W temacie wiadomości powinien znaleźć się ciąg PO oraz numer pracy domowej (tutaj: 8). Pliki źródłowe powinny być spakowane zip-em. Nazwa pliku powinna zawierać imię i nazwisko autora.
Brak komentarzy:
Prześlij komentarz