Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Деревья,структуры данных, распределения...

Автор: TOPEHTO 13.06.2007 18:06

Здраствуйте! давно к Вам не заглядывал, вот сессия пришла и опять надо...(
Есть несколько вопросов, про которые Я мало понимаю что отвечать:
Структуры данных:основные понятия и определения.
Тут Я понимаю надо сказать, что есть абстрактные, физические, линейные и нелинейные...может еще есть какие-нибудь понятия...??? кста, что такое физические структуры? просто все определения, которыя Я читаю не могу понять...
последовательное и связное распределение:реализация стека и очереди. понятно что последовательное это массивы и прочее, а связное это списки. а вот так сказать чисто теорию про эти распределения, вы мну не подскажите? rolleyes.gif
Обход бинарного дерева с исп. стека и очереди
Собственно не нужна программная реализация, а нужно просто алгоритм...
Буду рад помощи...

Автор: мисс_граффити 13.06.2007 19:02

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

Обход бинарного дерева с исп. стека и очереди
с использованием стека - это любой рекурсивный обход.
поищи, на форуме и алгоритм, и программа была.

Автор: volvo 13.06.2007 19:54

Что касается обхода дерева (любого, в частности - бинарного) с использованием очереди - ты же сам создавал тему: http://forum.pascal.net.ru/index.php?showtopic=15237

и там есть ссылка на алгоритмы...

Автор: TOPEHTO 13.06.2007 20:33

мисс_граффити
Я тож так думаю надо уточнить...какойто обширный вопрос=)
Про обход усе понял, хотя тонны вопросов:
Как мы помещаем корень наверх стека? насколько Я знаю, если кладем в стек, то кладем вниз...
и зачем помещать в очередь корень а потом его оттуда удалять?

Добавлено через 1 мин.
и еще масенький вопрос:как деревья представляются в памяти ЭВМ...?
Извините если много вопросов... blink.gif

Автор: мисс_граффити 14.06.2007 0:44

Цитата
Как мы помещаем корень наверх стека? насколько Я знаю, если кладем в стек, то кладем вниз...

насколько Я знаю, стек организуется согласно концепции LIFO - last in, first out.
то есть ЛЮБОЙ элемент (не только корень) добавляется именно наверх.
Цитата
и зачем помещать в очередь корень а потом его оттуда удалять?

не совсем поняла вопрос. а как еще? не помещать? не удалять (пусть там живет)?
Цитата
как деревья представляются в памяти ЭВМ...?

как захочешь...
в виде массива, в виде структуры с указателями... сильноветвящиеся вообще многие авторы не рекомендуют в оперативной памяти держать.
вот еще про некоторые способы (в виде матрицы смежности и т.д.):
http://www.intuit.ru/department/algorithms/graphsuse/11/
вот еще файлик по этому поводу (архив, в нем rtf. это вроде как не нарушение правил).
Прикрепленный файл  tree.rar ( 12.75 килобайт ) Кол-во скачиваний: 463

Автор: TOPEHTO 14.06.2007 1:48

Ок, все поняла, всем спс... give_rose.gif
Последний вопросик: а вот про реализацию стека и очереди, про эти распределения, что там?
Просто работаем с массивом как со стеком или еще чтото надо добавить?

Добавлено через 4 мин.
т.е. бинарное дерево с помощью матрицы можно хранить?smile.gif
и какой самый простой способ хранения...?

Автор: мисс_граффити 14.06.2007 1:59

В зависимости от характера взаимного расположения элементов в памяти структуры можно разделить на структуры с ПОСЛЕДОВАТЕЛЬНЫМ распределением элементов в памяти (векторы, строки, массивы, стеки, очереди) и структуры с ПРОИЗВОЛЬНЫМ СВЯЗНЫМ распределением элементов в памяти (односвязные, двусвязные списки).
вот про реализацию стека и очереди: http://www.intuit.ru/department/pl/plpascal/9/

Добавлено через 1 мин.
можно.
"простой" - смотря для чего.
если тебе надо один раз создать дерево и ничего в него не удалять/не добавлять, то в виде массива (матрицы). и проще, и памяти меньше кушает.
а вот если надо добавлять/удалять - динамические структуры.

Автор: TOPEHTO 14.06.2007 20:45

Хорошо, можно только эту тему не сносить, просто у меня могут еще появляться вопросы при подготовке...
Всем спасиБо... smile.gif

Автор: TOPEHTO 14.06.2007 23:30

А как стек реализовать с помощью списков, да и очередь? просто там про массивы разобрано...?
Я думаю по такой же схеме, работаем тока с 1 элементом...

Автор: мисс_граффити 15.06.2007 0:58

где "там"? в FAQ - про списки, вроде

Автор: TOPEHTO 15.06.2007 1:01

В той ссылке которую ты дала smile.gif

Автор: мисс_граффити 15.06.2007 1:14

http://forum.pascal.net.ru/index.php?showtopic=2706

Автор: TOPEHTO 15.06.2007 16:42

Уже все нашел СпасиБКи... give_rose.gif

Автор: TOPEHTO 18.06.2007 2:59

Люди добрые, разрешите еще воспользоваться вашей помощью...
Нужна помощь по вопросам...
Структура приложения Windows. Динамические библиотеки
Иерархия компонентов. Форма. Обработчики событий.
Библиотека визуальных компонентов
Что такое обработчики событий понимаю, отчасти...а вот со всем остальным непонятки, буду признателен если поможите, т.к. те ссылки которые Я нашел слишком сложные для моего мозга(

Автор: мисс_граффити 18.06.2007 3:11

Формы: http://www.realcoding.net/teach/delphi6/Glava%2019/Index0.htm
Иерархия компонентов (совсем кратко и просто): http://www.realcoding.net/teach/delphi6/Glava%2017/Index2.htm
Динамические библиотеки: http://www.realcoding.net/teach/delphi6/Glava%2013/Index0.htm

Автор: TOPEHTO 18.06.2007 3:24

СпасиБКи...еще раз, не помню точно какой=)
Библиотека визуальных компонентов
Структура приложения Windows
Осталась помощь по этим вопросам...Буду разбираться, если сам что найду сразу вам сообщу...

Автор: TOPEHTO 18.06.2007 3:49

Визуальные компоненты нашел
ссылко:http://www.i2r.ru/static/376/out_10762.shtml

Автор: TOPEHTO 20.06.2007 1:14

Еще масенький вопрос:)
Конструкторы и деструкторы...Тоже нужен перевод на русский язык:(
Я понимаю что с помощью конструктора создаем и инциализируем класс и т.д. деструктором его убиваем...а можно поподробнее?
и унарная операция и операция разыменования...как бы чисто определение...пожалуста... wub.gif понимаю что наглею...

Автор: мисс_граффити 20.06.2007 3:02

конструкторы/деструкторы: http://www.intuit.ru/department/pl/cpp/12/
унарная операция? какая? просто, что это такое: http://ru.wikipedia.org/wiki/Унарная_операция
разыменование: http://sources.ru/wiki/doku.php?id=pascal:pointers

Автор: TOPEHTO 28.06.2007 23:31

Экзамен сдан на 4, всем огромнейшее спасиБеше...тему можно сносить, если никому не нужна... blink.gif