Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #29452
| From | Andyy <nie@spamowac.tego> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Re: Jak zamienić ścieżki na strukturę drzewiastą? |
| Date | 2017-02-25 10:16 +0100 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <o8ri21$q78$1@node1.news.atman.pl> (permalink) |
| References | <o8q6ur$fhk$1@node1.news.atman.pl> <o8q73o$fhk$2@node1.news.atman.pl> <o8q82k$a99$1@node2.news.atman.pl> |
W dniu 24.02.2017 o 22:20, bartekltg pisze:
> Potem drzewo budujesz przechocząc taki zestaw stringów,
> jeśli kolejny element jest taki jak istneijący potomek
> wierzchołka, w który jesteś, wchodzisz w niego, jeśli
> nie, dodajesz do drzewa.
>
> W sumie to nie wymaga ani przerobienia stringa na
> wektor strongów, ani sortowania.
internal void make(Chunk chunk)
{
this.chunk = chunk;
List<ItemArch> list = makePathList();
root = new Node();
foreach (ItemArch elem in list)
{
Node node = root;
foreach (string part in elem.parts)
{
Node node1 = node.search(part);
if (node1 != null) node = node1;
else node = node.add(part);
}
node.index = elem.index;
}
}
Długotrwała jest operacja search, ale gdy mamy posortowane, to jeśłi
znajdzie to zawsze ostatni, co sprawdziłem dla Assert:
internal Node search(string name)
{
if (childs == null) return null;
for (int i=0; i<childs.Count; i++)
{
Node child = childs[i];
if (child.name == name)
{
Debug.Assert(i== childs.Count-1);
Console.WriteLine("found at "+i+" where size="+
childs.Count);
return child;
}
}
return null;
}
Czyli można zoptymalizować.
Back to pl.comp.programming | Previous | Next — Previous in thread | Find similar | Unroll thread
Jak zamienić ścieżki na strukturę drzewiastą? Andyy <nie@spamowac.tego> - 2017-02-24 22:01 +0100
Re: Jak zamienić ścieżki na strukturę drzewiastą? Andyy <nie@spamowac.tego> - 2017-02-24 22:03 +0100
Re: Jak zamienić ścieżki na strukturę drzewiastą? bartekltg <bartekltg@gmail.com> - 2017-02-24 22:20 +0100
Re: Jak zamienić ścieżki na strukturę drzewiastą? Andyy <nie@spamowac.tego> - 2017-02-25 10:16 +0100
csiph-web