/** * Løsning til eksamen i AlgMet, november 2020, oppgave 2. * * @file EX_H20_2.TXT * @author Frode Haug, NTNU */ OPPGAVE A: ========== Når "C" fjernes: - "C" har et høyre barn uten sitt venstre barn, derfor er - den ANDRE setningen med "else if (!fjernes->right->left) ....." aktuell. - Treet under "F" etter at "C" er fjernet: F / \ D .... / \ A E \ B Når "Q" fjernes: - vil ingen av de to første situasjonene være aktuelle, derfor er - den TREDJE setningen med "else ......" aktuell. Her vil den sekvensielt etterfølgende noden (dvs. "R") erstatte den som fjernes (dvs. "Q"). - Treet etter at "Q" er fjernet: M / \ .... R / \ P T / / .... S Når "M" fjernes: - vil ingen av de to første situasjonene være aktuelle, derfor er - den TREDJE setningen med "else ......" aktuell. Her vil den sekvensielt etterfølgende noden (dvs. "N") erstatte den som fjernes (dvs. "M"). - Treet etter at "M" er fjernet: N / \ F Q / \ / \ .... .... P .... / O OPPGAVE B: ========== - Vi har følgende bitmønster for bokstavene: E F I J K P R S T V 101 000 001 1100 100 010 1101 1110 011 1111 - Bitstrømmen utgjør derfor følgende tekst/melding: "FETTISJERVI" OPPGAVE C: ========== "gForeldre"-arrayen etterhvert: A B C D E AC: 1 - A - - AE: 2 - A - A DB: 2 D A 1 A BC: 4 D A A A Weight Balancing EB: 4 A A A A Path Compression Resulterende skog: A / / \ \ B C D E