dekompresja danych
: 19 maja 2011, o 19:39
Mama zaimplementowane drzewo binarne w którym w liściach są zapisane określone znaki, oraz zaszyfrowany tekst który muszę odszyfrować zgodnie z tym drzewem.
kody np.
A:0
B:10
C:110
...
z pliku txt. wczytuje kolejne bajty w jaki sposób mogę przechodzić przez drzewo,wypisać znak jeśli znajdę się w liściu, a następnie wracać do korzenia? Pomysł mam taki żeby sprawdzać kolejne bity jeśli znajduję sie 1 ide w prawo jesli -0 ide w lewo az dojde do wezla ktory nie zawiera potomka.
Wiem w jaki sposób sprawdzać kolejne bity w bajcie np poprzez:
Mój problem polega na tym że nie wiem w jaki sposób poruszać się po drzewie...
a może w ogole pomysl jest nie za dobry?
Prosze o jakieś wskazówki
kody np.
A:0
B:10
C:110
...
z pliku txt. wczytuje kolejne bajty w jaki sposób mogę przechodzić przez drzewo,wypisać znak jeśli znajdę się w liściu, a następnie wracać do korzenia? Pomysł mam taki żeby sprawdzać kolejne bity jeśli znajduję sie 1 ide w prawo jesli -0 ide w lewo az dojde do wezla ktory nie zawiera potomka.
Wiem w jaki sposób sprawdzać kolejne bity w bajcie np poprzez:
Kod: Zaznacz cały
bufor=getc(f);
i=7;
while(i>=0){
if((bufor &( 1<<i))==(1<<i)){
printf("1");
i--;
}
else{
printf("0");
i--;
}
}
a może w ogole pomysl jest nie za dobry?
Prosze o jakieś wskazówki