IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> НЕ рекурсивный поиск в бинарном дереве
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


У меня есть процедура поиска в бинарном дереве с использованием рекурсии, нужно сделать поиск с использованием стека или очереди. Вопрос: как это должно выглядеть?
Код

...
type
   Tinf = string [20];
   Ttree = ^TNode;
   TNode = record
                inf: Tinf;
                left, right: Ttree;
           end;
   Tptr = ^Tlist;
   Tlist = record
                inf: Tinf;
                next: tptr;
             end;
   TQueue = record
                 head,
                 tail: Tptr;
             end;
...
function Find(Root: TTree; X: Tinf): TTree;
q: Tqueue;
begin
   if Root = nil then Find := nil
   else
    if X = Root^.inf then Find := Root
    else
     if X < Root^.inf then Find := Find(Root^.Left, X)
      else Find := Find(Root^.Right, X);
end;

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Вопрос: как это должно выглядеть?
Ответ: сначала надо нажать на "Поиск" вверху страницы, потом вбить в строку поиска нерекур*, и походить по найденным ссылкам... В итоге приходишь вот сюда, и смотришь (включая и ссылки тоже): Создание бинарного дерева и обход

Попробуй реализовать самостоятельно, если не получится - спрашивай...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Что-то я не могу разобраться. У меня код полная ерунда (даже компилятор не запускается). Пожалуста напишите код процедуры. Буду очень признателен если ещё и с коментариями.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Это теперь называется попробовать сделать самому? Подождать часик и потом заявить, что код - фигня, компилятор не пропустил, стало быть я его не покажу, поэтому разжуйте мне все, да еще и с комментариями? С чего бы это? Не делаешь ничего сам - ПОМОЩИ не будет... (Хинт: помощь - это когда ТЕБЕ помогают, а не ЗА ТЕБЯ делают, усвойте это уже раз и навсегда!!!)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Ладно, тогда конкретный вопрос. При описании типа очереди информационная часть Tlist должна быть типа Tinf или Tnode?
Код

...
type
Tinf = string [20];
Ttree = ^TNode;
   TNode = record
                inf: Tinf;
                left, right: Ttree;
           end;
   Tptr = ^Tlist;
   Tlist = record
                inf: Tinf;
                next: tptr;
             end;
   TQueue = record
                 head,
                 tail: Tptr;
             end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.10.2020 22:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name