higii Ответов: 1

Бинарное дерево поиска вопрос


Trying to learn about Binary Tree while preparing for an exam, and I came across this code. And even tho it looks like it makes sense I simply cannot understand the purpose of this and how it actually works, so can anyone please elaborate?



And this is the code :

space += 5;

print_tree(root->right, space);

printf("\n");
for (int i = 5; i number);

print_tree(root->left, space);

What I have tried:

this is the result I get : https://i.ibb.co/3TTjJBr/kkkkkkkkkkkkj.jpg

Richard MacCutchan

Этот код даже не компилируется и не имеет никакого смысла, а ссылка разорвана.

higii

Эй, это всего лишь одна часть кода, которая была мне непонятна, и именно поэтому я опубликовал этот вопрос. Так или иначе, кто-то только что дал мне ответ :

- Он в основном печатает дерево, начиная с правой стороны.. И он добавляет пустые места в зависимости от того, как далеко вы находитесь, поэтому он отображается таким образом в консоли.. Таким образом, 55 глубже на один из 33, поэтому перед ним есть еще 5 пространств и так далее."

Richard MacCutchan

Итак, обновите свой вопрос и объясните, в чем проблема.

Patrice T

этот код не имеет никакого смысла!
Показать код, который можно скомпилировать

Stefan_Lang

Оператор for не является допустимым кодом. Даже если вы исправите синтаксис, тот факт, что он заканчивается на a;, означает, что он вообще ничего не делает. Вы уверены, что случайно не вырезали часть кода?

Что касается вызовов функции print_tree (), то мы можем только догадываться, что она делает, особенно в отношении второго параметра. Без какого-либо кода мы просто не можем знать.

Что касается результата, если вы считаете его полезным, скопируйте напечатанный результат в виде текста. Не размещайте ссылки. Переход по ссылке на неизвестный источник требует доверия, которое некоторые могут не захотеть предоставить незнакомцам. Ссылки хороши, если они идут на известные источники, такие как Википедия.

Короче говоря, с таким небольшим количеством информации, как вы дали нам, мы ничего не можем сделать, чтобы помочь вам понять этот код.

Тем не менее, способность понимать код другого человека полезна, но не обязательно полезна для понимания основных концепций. Было бы более эффективно изучать концепции непосредственно из надежного источника или учебника (см. Решение 1).

1 Ответов

Рейтинг:
2

higii

Эй, спасибо за этот урок. Я немного проверил его, и он кажется мне немного слишком продвинутым для меня. Они объясняют основы, но затем просто публикуют длинный код без должного объяснения, так что я думаю, что заблужусь по его виду.

RickZeeland

Никто не говорил, что жизнь программиста будет легкой :)

Stefan_Lang

Гораздо эффективнее изучать концепции из надежного источника, чем из какой - то программы, которая, скорее всего, не потратила много усилий на то, чтобы сделать код - и это основные концепции- понятным для других!

Если вы думаете, что этот учебник труден, я скажу вам, что изучение его из существующего кода, который не предназначен как учебник, будет намного сложнее!

RickZeeland

Здесь вы правы, но вопрос, конечно, в том, "что такое надежный источник"...

Stefan_Lang

Я бы сказал "надежнее", но каждый муравей прыгнул бы на *эту* планку! ;-)

RickZeeland

Ну, я думаю, что в целом качество статей на Medium довольно хорошее, за исключением тех, которые явно продвигают свое собственное программное обеспечение, конечно.

Stefan_Lang

О, теперь я понимаю - я имел в виду тот код, на который ссылалась операция, а не ссылки, которые вы предоставили. Извините за недоразумение!