eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCiekawy problem iteracyjnego zwalniania głębokiego drzewaRe: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
  • X-Received: by 10.31.151.77 with SMTP id z74mr161367vkd.3.1502725837183; Mon, 14 Aug
    2017 08:50:37 -0700 (PDT)
    X-Received: by 10.31.151.77 with SMTP id z74mr161367vkd.3.1502725837183; Mon, 14 Aug
    2017 08:50:37 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
    !2.eu.feeder.erje.net!news.roellig-ltd.de!open-news-network.org!peer03.am4!peer
    .am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-
    media.com!s6no1601769qtc.1!news-out.google.com!i9ni625qte.0!nntp.google.com!s6n
    o1601768qtc.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-ma
    il
    Newsgroups: pl.comp.programming
    Date: Mon, 14 Aug 2017 08:50:36 -0700 (PDT)
    In-Reply-To: <omseqa$hoj$2@node2.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.45.64;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.45.64
    References: <oms9l6$db4$1@node2.news.atman.pl>
    <d...@g...com>
    <omsd0p$g87$1@node2.news.atman.pl> <omsd87$g87$2@node2.news.atman.pl>
    <7...@g...com>
    <omseqa$hoj$2@node2.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <7...@g...com>
    Subject: Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
    From: "M.M." <m...@g...com>
    Injection-Date: Mon, 14 Aug 2017 15:50:37 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 2529
    X-Received-Body-CRC: 2319608414
    Xref: news-archive.icm.edu.pl pl.comp.programming:211058
    [ ukryj nagłówki ]

    On Monday, August 14, 2017 at 5:15:23 PM UTC+2, Borneq wrote:
    > W dniu 14.08.2017 o 16:50, M.M. pisze:
    > > Jak jest ciąg węzłów z jednym potomkiem, to zwalniaj w pętli, gdy
    > > są dwa, to rekurencyjnie - może to wystarczy,
    >
    > To całkiem dobre rozwiązanie,
    Na długich zdegenerowanych odcinkach nie robi rekurencyjnego wywołania,
    może to wystarczy do Twojego zastosowania.

    > ale jak to przedstawić w postaci kodu?

    Bez debugowania tak:
    remove( node ) {
    while( node ) {
    if( node->childCount() > 1 ) {
    foreach( node->childs as child ) {
    remove( child )
    }
    delete node
    } else {
    tmp = node;
    node = node->chils[ numberOneChild ];
    delete node;
    }
    }
    }

    > Może najpierw zamienić połowicznie - rekurencję na iterację z wektorem,
    > po czym ten wektor byłby używany tylko gdy rozgałęzienia?
    Nie wiem, pewnie skomplikowałoby mocno kod. Ja mam po prostu
    wszystko w wektorze, robię clear i cała pamięć zwolniona.

    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: