Глава 17: Дървета и графи

20 views
Skip to first unread message

Mario Stoilov

unread,
Jan 17, 2011, 7:23:21 AM1/17/11
to Intro C# Book
Здравейте,
На 632 страница кодът, който е даден "Обхождане на двоично дърво с
рекурсия – пример" при компилация крашва (хвърля exception) и не дава
резултата, описан в коментарите.

Според мен има грешка в самия замисъл на кода, тъй като конструктора,
който приема само 1 параметър задава по подразбиране стойност "null"
на левия и десния наследник на дадения корен, а в същото време има
проверка, при която ако се зададе стойност null на левия/десния
наследник се хвърля exception, а и при самата инициализация на дървото
в примера се задава стойност null на един от наследниците.

Dimitar Dimitrov

unread,
Mar 5, 2011, 7:49:27 AM3/5/11
to Intro C# Book
659 страница, цикъла

for (int j = 0; j < vertices.GetLength(1); i++)
{
if (vertices[i,j] == 1)
{
successors.Add(j);
}
}
не трябва ли да е j++?

On 17 Ян, 14:23, Mario Stoilov <chakal...@gmail.com> wrote:
> Здравейте,
> На 632 страница кодът, който е даден "Обхождане на двоично дърво с

> рекурсия - пример" при компилация крашва (хвърля exception) и не дава

Viktor Nonov

unread,
Apr 2, 2011, 9:58:56 AM4/2/11
to Intro C# Book
На стр. 623
/// Shows a sample usage of the Tree<E> class

би трябвало Tree<E> да е Tree<T> тоест:
/// Shows a sample usage of the Tree<T> class


На стр. 625
Тази информация се използва вътрешно в нашия клас и ни трябва в метода
AddChild(Tree<E> child)

трябва да стане:
Тази информация се използва вътрешно в нашия клас и ни трябва в метода
AddChild(Tree<T> child)


На стр. 625
В класа Tree<Т> e реализиран и методът TraverseDFS(), който извиква
частния метод PrintDFS(TreeNode<E> root, string spaces), който обхожда
дървото в дълбочина и извежда на стандартния изход елементите му, така
че нагледно да се изобрази дървовидната структура чрез отместване
надясно (с добавяне на интервали).

трябва да стане:
В класа Tree<Т> e реализиран и методът TraverseDFS(), който извиква
частния метод PrintDFS(TreeNode<T> root, string spaces), който обхожда
дървото в дълбочина и извежда на стандартния изход елементите му, така
че нагледно да се изобрази дървовидната структура чрез отместване
надясно (с добавяне на интервали).


На стр. 625
Така позволяваме подаването на произволен брой аргументи от тип
Tree<E> (поддървета).

трябва да стане:
Така позволяваме подаването на произволен брой аргументи от тип
Tree<T> (поддървета).

На стр. 642
Дървото само по себе си като структура се състои от един корен от тип
BinaryTreeNode, който вътрешно съдържа наследниците си - съответно ляв
и десен, те вътрешно техните наследници и така рекурсивно надолу
докато се стигне до листата.

Може би трябва да се промени, за да е по-ясно:
Дървото само по себе си като структура се състои от един корен от тип
BinaryTreeNode, който вътрешно съдържа наследниците си - съответно ляв
и десен, те вътрешно също съдържат техните наследници и така
рекурсивно надолу докато се стигне до листата.

Reply all
Reply to author
Forward
0 new messages