-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Borneq <b...@a...hidden.pl>
Newsgroups: pl.comp.programming
Subject: Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
Date: Mon, 14 Aug 2017 17:11:42 +0200
Organization: ATMAN - ATM S.A.
Lines: 61
Message-ID: <omsejb$hoj$1@node2.news.atman.pl>
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>
NNTP-Posting-Host: 91.239.205.105
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1502723500 18195 91.239.205.105 (14 Aug 2017 15:11:40
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 14 Aug 2017 15:11:40 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.2.1
In-Reply-To: <7...@g...com>
Content-Language: pl
Xref: news-archive.icm.edu.pl pl.comp.programming:211055
[ ukryj nagłówki ]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, nie wiem co dokładnie
> robisz. 100tys na desktop/laptop to nie jest aż tak dużo.
No włąśnie, teeen algorytm powinien mniej więcej tak wyglądać.
100 tys za dużo na stos, nawet 3 tysiące! przechodzi 2 tysiące
#include <stdint.h>
#include <random>
const int height = 2000;
uint8_t choos[height];
int active = 0;
struct Node
{
Node()
{
active++;
for (int i=0; i<3; i++)
children[i] = nullptr;
}
~Node()
{
for (int i = 0; i<3; i++)
if (children[i]) delete children[i];
active--;
}
Node *children[3];
};
int main()
{
std::mt19937 gen(0);
std::uniform_int_distribution<int16_t> dis(0, 2);
std::uniform_int_distribution<int16_t> dis2(1, 2);
std::uniform_int_distribution<int16_t> disoth(0, 5);
Node *node;
Node *child = new Node;
Node *head = child;
for (int i = 0; i < height; i++)
{
node = child;
choos[i] = dis(gen);
child = new Node;
node->children[choos[i]] = child;
if (dis(gen) == 0)
{
int second = (choos[i] + dis2(gen)) % 3;
node->children[second] = new Node;
}
}
delete head;
return 0;
}
Następne wpisy z tego wątku
- 14.08.17 17:15 Borneq
- 14.08.17 17:20 Borneq
- 14.08.17 17:50 M.M.
- 14.08.17 18:56 Borneq
- 14.08.17 20:04 M.M.
- 14.08.17 23:44 Borneq
- 15.08.17 00:20 M.M.
- 15.08.17 03:33 M.M.
- 15.08.17 07:59 Borneq
- 15.08.17 11:58 slawek
- 15.08.17 12:55 Borneq
- 15.08.17 21:25 M.M.
- 15.08.17 21:27 slawek
- 16.08.17 00:20 M.M.
- 16.08.17 02:52 bartekltg
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 ranking wyciszenia, głośność, hałas przy 130 km/h, na postoju, przy przyspieszaniu
- 2025-02-05 Warszawa => IT Recruiter <=
- 2025-02-05 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-05 Rzeszów => Spedytor Międzynarodowy <=
- 2025-02-05 Warszawa => IT Business Analyst <=
- 2025-02-05 Warszawa => Specjalista DevOps <=
- 2025-02-05 Łódź => NodeJS Developer <=
- 2025-02-05 Warszawa => QA Engineer (Quality Assurance) <=
- 2025-02-05 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-05 Warszawa => QA Engineer <=
- 2025-02-05 Warszawa => Programista Full Stack .Net <=
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 podpisywanie umów z datą wsteczną
- 2025-02-04 Radio internetowe do starego Androida