Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте za4eti.ru

Компьютеры, Программирование Компьютеры, Программирование     Программирование, Базы данных Программирование, Базы данных

Структуры данных: бинарное упорядоченное несбалансированное дерево

Гуашь "Классика", 12 цветов.
Гуашевые краски изготавливаются на основе натуральных компонентов и высококачестсвенных пигментов с добавлением консервантов, не
170 руб
Раздел: 7 и более цветов
Коврик для запекания, силиконовый "Пекарь".
Коврик "Пекарь", сделанный из силикона, поможет Вам готовить вкусную и красивую выпечку. Благодаря материалу коврика, выпечка не
202 руб
Раздел: Коврики силиконовые для выпечки
Мыло металлическое "Ликвидатор".
Мыло для рук «Ликвидатор» уничтожает стойкие и трудно выводимые запахи за счёт особой реакции металла с вызывающими их элементами.
197 руб
Раздел: Ванная

Казанский Государственный Технический Университет им. А. Н. Туполева Курсовая работа по программированию на тему Структуры данных: бинарное упорядоченное несбалансированное дерево Выполнил: Зверев И. М. Проверил: Рахматуллин А. И. Казань 2003 План работы: Постановка задачи Описание программы Код программы на языках Pascal и С Постановка задачи Требуется написать программу, реализующую основные операции работы с деревом. Причём, обязательным условием является использование структуры данных класс для описания дерева и методов работы с ним. Описание программы Описание ведётся для кода на Pascalе, отличия для С будут указаны ниже. В программе основным элементом является класс ree. Его методы – это основные процедуры работы с деревом: Crea e – конструктор класса – процедура, создающая дерево, Add – метод добавления элемента в дерево, Del – метод удаления элемента из дерева, View – метод вывода элементов дерева на экран, Exis – метод проверки существования элемента с некоторым ключом, по сути поиск элемента, Des roy – деструктор класса – процедура, удаляющая дерево. Рассмотрим алгоритмы работы процедур. Crea e – создание дерева. Присваивает полю Roo (корень) значение il – указателя, который никуда не указывает. Add – добавление элемента в дерево. Для построения дерева используем следующий алгоритм. Первый элемент помещаем в корень (инициализируем дерево). Далее поступаем следующим образом. Если добавляемый в дерево элемент имеет ключ больший, чем ключ узла, то, если узел не лист, обходим его справа. Если добавляемый элемент имеет ключ не больший чем ключ узла, то, если узел не лист, обходим его слева. Если дошли до листа, то добавляем элемент соответственно справа или слева. Del – удаление элемента из дерева. Удаление узла довольно просто если он является листом или имеет одного потомка. Например, если требуется удалить узел с ключом М надо просто заменить правую ссылку узла К на указатель на L. Трудность заключается в удалении узла с двумя потомками, поскольку мы не можем указать одним указателем на два направления. Например, если просто удалить узел с ключом , то левый указатель узла с ключом Т должен указывать одновременно на К и R что не возможно. В этом случае удаляемый узел нужно заменить на другой узел из дерева. Возникает вопрос, каким же узлом его заменить? Этот узел должен обладать двумя свойствами: во-первых, он должен иметь не более одного потомка; во-вторых, для сохранения упорядоченности ключей, он должен иметь ключ либо не меньший, чем любой ключ левого поддерева удаляемого узла, либо не больший, чем любой ключ правого поддерева удаляемого узла. Таким свойствам обладают два узла, самый правый узел левого поддерева удаляемого узла и самый левый узел его правого поддерева. Любым из этих узлов им можно заменить удаляемый узел. Например, на рисунке это узлы М и Р. Необходимо различать три случая: Узла с ключем, равным х, нет. Узел с ключем, равным х, имеет не более одного потомка. Узел с ключем, равным х, имеет двух потомков Вспомогательная рекурсивная процедура del вызывается только в случае, когда удаляемый узел имеет двух потомков.

Она “спускается вдоль” самой правой ветви левого поддерева удаляемого узла q^ (при вызове процедуры ей передается в качестве параметра указатель на левое поддерево) и, затем, заменяет существенную информацию (в нашем случае ключ da a) в q^ соответствующим значением самого правого узла r^ этого левого поддерева, после чего от r^ можно освободиться. View - печать дерева, обходя его справа налево. Чем дальше элемент от корня, тем больше ему будет предшествовать пробелов, т. о. путём несложного алгоритма получается вполне удобно читаемое дерево. Exis – проверка существования элемента с заданным ключом. Ищем элемент, двигаясь от корня и переходя на левое или правое поддерево каждого узла в зависимости от его ключа. Des roy – удаление дерева. Обходя дерево слева направо, удаляет элементы. Сначала удаляются потомки узла, затем сам узел. Различия между описаниями кодов программах на разных языках относятся в основном к конструкторам и деструкторам. В .pas программах они определяются директивами и вызываются явно как методы класса из программы, а в .cpp конструктор вызывается при создании элемента класса и деструктор автоматически при выходе из программы (для чего объект класса размещается в памяти динамически). Код программы program P ree;{$APP YPE CO SOLE} ype I fo = By e; PI em = ^I em; I em = record Key: I fo; Lef , Righ : PI em; e d; ree = class priva e Roo : PI em; public co s ruc or Crea e; procedure Add(Key: I fo); procedure Del(Key: I fo); procedure View; procedure Exis (Key: I fo); des ruc or Des roy; override; e d; co s ruc or ree.Crea e; begi Roo := il; e d; procedure ree.Add(Key: I fo); procedure I i ree(var P: PI em; X: I fo); //создание корня дерева begi ew(P); P^.Key :=X; P^.Lef := il; P^.Righ := il; e d; procedure I Lef (var P: PI em; X : I fo); //добавление узла слева var R : PI em; begi ew(R); R^.Key := X; R^.Lef := il; R^.Righ := il; P^.Lef := R; e d; procedure I Righ (var P: PI em; X : I fo); //добавить узел справа var R : PI em; begi ew(R); R^.Key := X; R^.Lef := il; R^.Righ := il; P^.Righ := R; e d; procedure ree Add (P: PI em; X : I fo); var OK: Boolea ; begi OK := false; while o OK do begi if X > P^.Key he //посмотреть направо if P^.Righ il //правый узел не il he P := P^.Righ //обход справа else begi //правый узел - лист и надо добавить к нему элемент I Righ (P, X); //и конец OK := rue; e d else //посмотреть налево if P^.Lef il //левый узел не il he P := P^.Lef //обход слева else begi //левый узел -лист и надо добавить к нему элемент I Lef (P, X); //и конец OK := rue e d; e d; //цикла while e d;begi if Roo = il he I i ree(Roo , Key) else ree Add(Roo , Key); e d; procedure ree.Del(Key: I fo); procedure Dele e (var P: PI em; X: I fo); var Q: PI em; procedure Del(var R: PI em); //процедура удаляет узел имеющий двух потомков, заменяя его на самый правый //узел левого поддерева begi if R^.Righ il he //обойти дерево справа Del(R^.Righ ) else begi //дошли до самого правого узла //заменить этим узлом удаляемый Q^.Key := R^.Key; Q := R; R := R^.Lef ; e d; e d; //Del begi //Dele e if P il he //искать удаляемый узел if X < P^.K

занский Государственный Технический Университет им. А. Н. Туполева Курсовая работа по программированию на тему Структуры данных: бинарное упорядоченное несбалансированное дерево Выполнил: Зверев И. М. Проверил: Рахматуллин А. И. Казань 2003 План работы: Постановка задачи Описание программы Код программы на языках Pascal и С Постановка задачи Требуется написать программу, реализующую основные операции работы с деревом. Причём, обязательным условием является использование структуры данных класс для описания дерева и методов работы с ним. Описание программы Описание ведётся для кода на Pascalе, отличия для С будут указаны ниже. В программе основным элементом является класс ree. Его методы – это основные процедуры работы с деревом: Crea e – конструктор класса – процедура, создающая дерево, Add – метод добавления элемента в дерево, Del – метод удаления элемента из дерева, View – метод вывода элементов дерева на экран, Exis – метод проверки существования элемента с некоторым ключом, по сути поиск элемента, Des roy – деструктор класса – процедура, удаляющая дерево. Рассмотрим алгоритмы работы процедур. Crea e – создание дерева. Присваивает полю Roo (корень) значение il – указателя, который никуда не указывает. Add – добавление элемента в дерево. Для построения дерева используем следующий алгоритм. Первый элемент помещаем в корень (инициализируем дерево). Далее поступаем следующим образом. Если добавляемый в дерево элемент имеет ключ больший, чем ключ узла, то, если узел не лист, обходим его справа. Если добавляемый элемент имеет ключ не больший чем ключ узла, то, если узел не лист, обходим его слева. Если дошли до листа, то добавляем элемент соответственно справа или слева. Del – удаление элемента из дерева. Удаление узла довольно просто если он является листом или имеет одного потомка. Например, если требуется удалить узел с ключом М надо просто заменить правую ссылку узла К на указатель на L. Трудность заключается в удалении узла с двумя потомками, поскольку мы не можем указать одним указателем на два направления. Например, если просто удалить узел с ключом , то левый указатель узла с ключом Т должен указывать одновременно на К и R что не возможно. В этом случае удаляемый узел нужно заменить на другой узел из дерева. Возникает вопрос, каким же узлом его заменить? Этот узел должен обладать двумя свойствами: во-первых, он должен иметь не более одного потомка; во-вторых, для сохранения упорядоченности ключей, он должен иметь ключ либо не меньший, чем любой ключ левого поддерева удаляемого узла, либо не больший, чем любой ключ правого поддерева удаляемого узла. Таким свойствам обладают два узла, самый правый узел левого поддерева удаляемого узла и самый левый узел его правого поддерева. Любым из этих узлов им можно заменить удаляемый узел. Например, на рисунке это узлы М и Р. Необходимо различать три случая: Узла с ключем, равным х, нет. Узел с ключем, равным х, имеет не более одного потомка. Узел с ключем, равным х, имеет двух потомков Вспомогательная рекурсивная процедура del вызывается только в случае, когда удаляемый узел имеет двух потомков.

Иного рода ошибку допускают, на наш взгляд, ученые, стремящиеся превратить "бинарную" структуру действия в "триаду", выделив наряду с субъектом и объектом некое отличное от них средство деятельности, при помощи которого субъект передает свое целенаправленное воздействие на объект. О чем конкретно идет речь? Представим себе человека, который вопреки всем медицинским рекомендациям разгрызает зубами фецкий орех. Анализируя структуру данного действия, мы признаем человека субъектом, а орех - объектом, на который направлены его усилия. Трудно будет переоценить степень нашего удивления, если кто-нибудь спросит нас о месте, которое занимают в данном действии... зубы, с помощью которых передается воздействие субъекта на объект. В самом деле, выше мы признали социального субъекта предметным существом, обладающим - в отличие от гносеологического или психологического субъекта - "телесной" организацией. Поэтому представляется вполне логичным отнести человеческие зубы к субъектной стороне действия, признав их компонентом субстратной организации человека, естественной частью его органического тела

1. Конструкции из дерева и пластмасс. Жилое здание из дерева в г.Купянск

2. Насекомые лиственных пород деревьев

3. Резьба по дереву

4. Дерево непосредственных составляющих

5. Задача остовных деревьев в k–связном графе

6. Ректификационная установка непрерывного действия для разделения 4,1 т/ч бинарной смеси ацетон - этанол
7. Роспись по дереву
8. Дерево как символическая деталь в романе Тургенева "Отцы и дети"

9. Аралия маньчжурская (шип-дерево)

10. Бинарная структура Солнечной системы

11. Дерево непосредственных составляющих

12. Экологические проблемы лесного сектора России: породы деревьев, экосистемы, территории

13. Какие деревья сажать

14. Построение дерева решений проекта

15. Методика количественного анализа безопасности с помощью дерева отказов

16. Дерево

Музыкальный коврик "На ферме".
Новый музыкальный коврик разработан специально для малышей. Он большой, яркий, обучающий и интерактивный! 27 весёлых зверюшек, 40 загадок
681 руб
Раздел: Развивающие коврики не интерактивные
Швабра для пола, с отжимом.
Швабра может использоваться для мытья пола, стен и окон. Пригодна для чистки ковров. Моющая губка - 27 см. Ручка - телескопическая, длина
331 руб
Раздел: Швабры и наборы
Игра "Городки".
Игра в городки заключается в выбивании фигур, построенных из пяти городков, с ограниченной площадки, называемой "городом",
378 руб
Раздел: Городки

17. Азимина, или Банановое дерево

18. Бинарные жидкие системы

19. Полынь – божье дерево и полынь-эстрагон

20. Деревья /english/

21. Экспертная система по породам дерева

22. Двоичные деревья поиска
23. Борис Андреевич Пильняк. Красное дерево
24. Дерево решений

25. Огнестойкость конструкций из дерева и полимеров

26. Насекомые-вредители плодовых деревьев Астраханской области

27. Виды сорных растений. Обрезка плодовых деревьев и винограда. Типы удобрений

28. Плодово-ягодные деревья в ландшафтном дизайне

29. Кращі дерева України

30. Компрессия информации и упорядочение дерева по алгоритму Виттера

31. Определение связанного множества пикселей на бинарном изображении

32. Работа с полноцветными, полутоновыми и бинарными изображениями

Патронташ со стопками.
Охотнику, туристу, болельщику и просто любителю спонтанных праздников это изобретение может весьма пригодиться. Набор удобных пластиковых
554 руб
Раздел: Прочее
Чудо-пеленка для мальчика "Bambola".
Пеленка на липучках создана, чтобы обеспечить спокойный сон малышу. Благодаря липучкам, которые удерживают и не позволяют ребенку
340 руб
Раздел: Пелёнки
Фоторамка на 6 фотографий С34-004 "Alparaisa", 50,5x34,5 см (белый).
Размеры рамки: 50,5x34,5х1,5 cм. Размеры фото: - 10х15 см, 3 штуки, - 15х10 см, 3 штуки. Фоторамка-коллаж для 6-ти фотографий. Материал:
599 руб
Раздел: Мультирамки

33. Структура данных программного комплекса "Q-дерево"

34. Резьба по дереву

35. Художественный промысел. Резьба по дереву. Виды резьбы. Абашевская игрушка. Абрамцево-кудринская резьба

36. Деревья и их свойства (частный вид графов)

37. Свойства бинарных отношений

38. Развитие графических навыков у детей на занятиях кружка росписи по дереву
39. Выжигание по дереву
40. Технологические принципы изготовления материалов из дерева

41. Конструкции из дерева и пластмасс

42. Проектирование конструкций из дерева и пластмасс плавательного бассейна

43. Живые свидетели истории - мемориальные деревья

44. История и охрана деревьев Крыма

45. Резьба и роспись по дереву у башкир

46. Роль микроэлементов в обменных процессах растений и на накоплении ими биологически активных веществ (Реферат (обзор литературы) () WinWord 97)

47. Экономическая сказка-реферат "НДС - вражья морда" или просто "Сказка про НДС"

48. Несколько рефератов по культурологии

Глобус "Двойная карта" рельефный диаметром 320 мм, с подсветкой.
Диаметр: 320 мм. Масштаб: 1:40000000. Материал подставки: дерево. Цвет подставки: вишня, орех. Мощность: 220 V, может использоваться в
2122 руб
Раздел: Глобусы
Визитница "Visifix", на 128 визиток, черная.
Практичная визитница в пластиковой фактурной обложке предназначена для хранения и систематизации визитных карт. Внутренний блок на спайке
410 руб
Раздел: Визитницы
Сортер "Ключики".
Сортер "Ключики" очень интересная и увлекательная игра, которая надолго займет ребенка. Задачей малыша является правильно
461 руб
Раздел: Сортеры, логические игрушки

49. Реферат по научной монографии А.Н. Троицкого «Александр I и Наполеон» Москва, «Высшая школа»1994 г.

50. Субъект преступления ("подновлённая" версия реферата 6762)

51. Психология труда (Обзорный реферат по психологии труда)

52. "Русский Тарзан" (реферат о российском пловце Александре Попове)

53. Реферат по статье П. Вайнгартнера «Сходство и различие между научной и религиозной верой»

54. Генезис капитализма в Мексике. Реферат по истории экономики
55. Реферат по книге Н. Цеда Дух самурая - дух Японии
56. Реферат по теме “Человек на войне”

57. Реферат по биографии Виктора Гюго

58. Реферат - Физиология (Транспорт веществ через биологические мембраны)

59. США и Канада в АТР: набор рефератов

60. Как написать хороший реферат?

61. Сборник рефератов о конфликтах

62. Реферат кондитерское изделие

63. Реферат по статье Гадамера Неспособность к разговору

64. Реферат Евро

Беговел Tech Team "Big 10", цвет: серый (2018 г).
Детский беговел с платформой и надувными колесами. Ориентирован на малышей до 5 лет. Беговел - это маленький велосипед без педалей,
3000 руб
Раздел: Беговелы
Пирамида "Радуга", 29 см.
Пирамидка - замечательный тренажер для развития мелкой моторики и координации движений. Играя, ребенок знакомится с разными цветами,
320 руб
Раздел: Пластиковые
Набор чернографитовых карандашей "Graphic", 12 штук.
Набор чернографитовых карандашей содержит 12 заточенных карандашей различной твердости (5B-5H). Карандаши изготовлены из лучших пород
360 руб
Раздел: Чернографитные

65. Реферат о прочитаной на немецком языке литературы

66. Лесные пожары - реферат

67. ДЫХАНИЕ - реферат за 9-й класс

68. Реферат по Мексике

69. Перевод реферата "Acquaintance with geometry as one of the main goals of teaching mathematics to preschool children"


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.