Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #30230

Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa

From Borneq <borneq@antyspam.hidden.pl>
Newsgroups pl.comp.programming
Subject Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
Date 2017-08-14 17:11 +0200
Organization ATMAN - ATM S.A.
Message-ID <omsejb$hoj$1@node2.news.atman.pl> (permalink)
References <oms9l6$db4$1@node2.news.atman.pl> <d0a3f944-ae96-4443-9013-ddbc578d2a77@googlegroups.com> <omsd0p$g87$1@node2.news.atman.pl> <omsd87$g87$2@node2.news.atman.pl> <7fb94382-6231-4ec2-8998-3356849d6586@googlegroups.com>

Show all headers | View raw


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;
}



Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 15:47 +0200
  Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 15:53 +0200
  Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 07:12 -0700
    Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 16:44 +0200
      Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 16:48 +0200
        Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 07:50 -0700
          Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 17:11 +0200
          Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 17:15 +0200
            Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 17:20 +0200
            Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 08:50 -0700
              Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 18:56 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 11:04 -0700
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-14 23:44 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 15:20 -0700
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 18:33 -0700
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-15 07:59 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa slawek <fake@fakeemail.com> - 2017-08-15 11:58 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-15 12:55 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-15 12:25 -0700
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa slawek <fake@fakeemail.com> - 2017-08-15 21:27 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-15 15:20 -0700
      Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-14 07:49 -0700
  Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa bartekltg <bartekltg@gmail.com> - 2017-08-15 17:52 -0700
    Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-16 02:21 -0700
      Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa bartekltg <bartekltg@gmail.com> - 2017-08-16 02:40 -0700
        Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-16 03:08 -0700
          Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa bartekltg <bartekltg@gmail.com> - 2017-08-16 03:24 -0700
            Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-16 07:07 -0700
              Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa bartekltg <bartekltg@gmail.com> - 2017-08-16 15:31 -0700
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-16 16:12 -0700
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-17 02:46 +0200
              Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2017-08-17 08:11 +0200
                Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-17 03:26 -0700
    Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-16 15:46 +0200
      Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa bartekltg <bartekltg@gmail.com> - 2017-08-16 07:06 -0700
    Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-16 16:05 +0200
      Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa bartekltg <bartekltg@gmail.com> - 2017-08-16 07:11 -0700
        Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa Borneq <borneq@antyspam.hidden.pl> - 2017-08-16 16:22 +0200
          Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa "M.M." <mmarszik@gmail.com> - 2017-08-16 07:42 -0700

csiph-web