eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak usunąć najlepiej element z drzewa ? › Re: Jak usunąć najlepiej element z drzewa ?
  • X-Received: by 10.31.162.130 with SMTP id l124mr1227796vke.0.1521151240920; Thu, 15
    Mar 2018 15:00:40 -0700 (PDT)
    X-Received: by 10.31.162.130 with SMTP id l124mr1227796vke.0.1521151240920; Thu, 15
    Mar 2018 15:00:40 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!peer03.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-medi
    a.com!news.highwinds-media.com!r16no393331qtn.1!news-out.google.com!c39ni668qta
    .0!nntp.google.com!t24no392290qtn.0!postnews.google.com!glegroupsg2000goo.googl
    egroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 15 Mar 2018 15:00:40 -0700 (PDT)
    In-Reply-To: <p8epa1$hic$1@node1.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.206.142;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.206.142
    References: <p8cgcv$bd7$1@node1.news.atman.pl> <p8d69b$p3b$1@node2.news.atman.pl>
    <p8dia4$4c4$1@node2.news.atman.pl> <p8dlhd$eah$1@node1.news.atman.pl>
    <p8drp1$d3l$1@node2.news.atman.pl> <p8ds7o$l09$1@node1.news.atman.pl>
    <p8dtuu$f4c$1@node2.news.atman.pl>
    <9...@g...com>
    <p8ee5g$6h9$1@node1.news.atman.pl>
    <9...@g...com>
    <p8epa1$hic$1@node1.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <1...@g...com>
    Subject: Re: Jak usunąć najlepiej element z drzewa ?
    From: "M.M." <m...@g...com>
    Injection-Date: Thu, 15 Mar 2018 22:00:42 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 3468
    X-Received-Body-CRC: 3796311695
    Xref: news-archive.icm.edu.pl pl.comp.programming:212334
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: