-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-05 [ot] spec od renowacji/reperacji kurtek skorzanych
- 2024-06-05 Koszt przywrócenia wychodnego numerowi w Plusie
- 2024-06-06 korki prawie takie same
- 2024-06-05 Takie elektryki mają sens ale czy z Francuską MARŻĄ?
- 2024-06-05 Warta S.A. - przyjęta odpowiedzialność?
- 2024-06-04 nie zna życia ten
- 2024-06-06 A jednak nie kondensatory
- 2024-06-06 Re: A jednak nie kondensatory
- 2024-06-06 Wymiana SIM Aero2
- 2024-06-06 Gdańsk => Programista Full Stack .Net <=
- 2024-06-06 Warszawa => Senior React Native Developer <=
- 2024-06-06 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-06 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-06-05 Olsztyn => Sales Specialist <=
- 2024-06-05 Ulm => Integration & Test Engineer <=