-
Data: 2018-03-15 23:00:40
Temat: Re: Jak usunąć najlepiej element z drzewa ?
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thursday, March 15, 2018 at 10:41:22 PM UTC+1, Borneq wrote:
> W dniu 15.03.2018 o 22:15, M.M. pisze:
> > Np. jakich typów?
> >
> >> podmiana elementu na podgałąź
> >
> > Potrzebujesz drzewa z wyważaniem czy bez?
>
> To zupełnie co innego niż AVL, drzewa czerwono-czarne,itp.
> Drzewa bez wyważania, coś takiego jak AST do trzymania wyrażeń
> arytmetycznych, zwykle Lisp czy Closure się do tego nadaje.
> Na przykład teraz zobaczyłem że źle zrobiłem klonowanie: teraz jak
> podczepiam poddrzewko to wchodzi wgłąb niego i klonuje w razie potrzeby.
> Może być zapętlenie gdy do drzewa w pewnym miejscu podczepiam całe
> drzewo. Radzę sobie przez ustawienie znacznika, i w ten sposób przerywam
> z błędem. Ale nie chcę przerywać z błędem tylko nie klonować w razie
> potrzeby po jednym, tylko najpierw sklonować całe drzewko (obiekty
> różnych typów,kopiowanie danych ale linki dzieci-ojciec odpowiednio się
> zmienią na nowe obiekty) a potem je podczepić.
Jest to na tyle łatwe, że można szybko samemu zrobić. Moja implementacja
drzewek czerwono czarnych trochę czasu mi zajęła, ale ma kilka dodatkowych
bajerów, no i samo wyważanie wymaga trochę wysiłku.
Wracając do pierwszego pytania, jak usuwać węzeł. Usuwa się po prostu,
przez zwolnienie pamięci. Ale jeśli węzeł ma dzieci, to nie można ich
zgubić. Co zrobić z dziećmi? Zależy od zastosowania.
Hmmm a po co usuwasz węzeł w drzewie do reprezentacji wyrażeń
arytmetycznych?
Pozdrawiam
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=