-
Data: 2017-08-14 17:11:42
Temat: Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-16 deltaT w pompie ciepla
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-16 Gdańsk => Delphi Programmer <=
- 2025-07-16 Warszawa => BI Developer <=
- 2025-07-16 Gdańsk => Programista Delphi <=
- 2025-07-16 chroń PESEL dziecka
- 2025-07-16 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-16 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-16 Kraków => Kotlin Developer <=
- 2025-07-16 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-16 Tadeusz Rolke RIP
- 2025-07-14 Dwa dylematy
- 2025-07-14 Re: Dwa dylematy