Polecenie 1

Przyjrzyj się symulacji interaktywnej. Przedstawia ona przykładowy proces tworzenia grafu kodującego za pomocą algorytmu Huffmana. Czy potrafisz zakodować wiadomość zgodnie z symulacją?

Zapoznaj się z opisem symulacji interaktywnej. Przedstawia ona przykładowy proces tworzenia grafu kodującego za pomocą algorytmu Huffmana.

1
Symulacja 1
R1dZ7504XXzIq
Symulacja interaktywna umożliwia stworzenie grafu kodującego na podstawie algorytmu. W polu Tablica znaków spisano ciągiem: lewy nawias klamrowy „A”, „B”, „C”, „D”, „E”, „F”, „G”, „H”, „I”, „J” prawy nawias klamrowy. W polu Częstość występowania wpisano: lewy nawias klamrowy, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5 prawy nawias klamrowy. W kolejnych krokach na ekranie pojawia się graf.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
1
Polecenie 2

Wpisując do symulacji odpowiednie dane, czyli znaki do zakodowania i ich częstość, utwórz drzewo binarne. Następnie za jego pomocą zakoduj wiadomość: "Jestem tekstem testowym". Podczas kodowania uwzględnij spacje.

Wpisz poniżej odpowiednie dane, czyli znaki do zakodowania i ich częstość, tak by stworzyły drzewo binarne. Następnie za jego pomocą zakoduj wiadomość: „Jestem tekstem testowym”. Podczas kodowania uwzględnij spacje.

Rz486UEA8shpe
(Uzupełnij).
1
Polecenie 3

Zaimplementuj w języku Java algorytm kodowania Huffmana dla ciągu znaków. Podczas łączenia wierzchołków upewnij się, że lewy syn będzie węzłem z najmniejszą możliwą częstością, a prawy następnym w kolejności. Podczas porównywania węzłów z tą samą częstością priorytet powinien mieć ten, który podczas porównywania przetrzymywanych znaków będzie miał mniejszą wartość. Łącząc dwa węzły, zapisz w wierzchołku wynikowym znak mający niższą wartość. Przetestuj swoje rozwiązanie dla podanego ciągu znaków:

Linia 1. wiadomosc znak równości cudzysłów Jestem tekstem testowym cudzysłów.

Zakoduj również spacje. Swoje rozwiązanie porównaj z symulacją. Jeśli pomimo poprawnej konstrukcji drzewa otrzymasz inne kodowanie, zastanów się, czemu tak się stało.

Specyfikacja:

Dane:

  • wiadomosc – łańcuch znaków do zakodowania

Wynik:

  • zakodowanaWiadomosc – zakodowany łańcuch znaków

Rp9LHZiDJBXhu1
Wymyśl pytanie na kartkówkę związane z tematem materiału.