public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var arrayList = new ArrayList();
for (int i = 0; i < 11; i++)
{
var treeElement = new TreeElement();
arrayList.Add(treeElement);
}
var myStruct1 = (TreeElement)arrayList[1];// у элемента 2 1-родитель 3- левый сын 8 - правый брат
myStruct1.parent = 1;
myStruct1.son = 3;
myStruct1.brother = 8;
var myStruct2 = (TreeElement)arrayList[2];// у элемента 3 2-родитель 4 и 5- правые братья
myStruct2.parent = 2;
myStruct2.brother = 4;
myStruct2.brother = 5;
var myStruct4 = (TreeElement)arrayList[4];// у элемента 5 2- родитель 6 - сын
myStruct4.parent = 2;
myStruct4.son = 6;
var myStruct5 = (TreeElement)arrayList[5]; // у элемента 8 1- родитель 7- сын
myStruct5.parent = 1;
myStruct5.son = 7;
}
private void textBox1_TextChanged(object sender, EventArgs e)
Задания по вариантам:
1. Составить программу, которая создает из заданного множества (табл.1) бинарное дерево. Необходимо осуществить заданный в соответствии с вариантом (табл. 2) обход бинарного дерева.
2. К полученному списку обхода применить предложенный в вашем варианте метод поиска (табл.3).
Таблица 1 - Выбор заданного множества
Вариант | Множество |
1, 0, -3, 4, 15, 56, 38, 80, 23, 100 | |
45, 56, 77, 123, 7, 12, 20, 4, 5, 0 | |
32, 8, 17, 25, 78, 35, 16, 34, 3, 91 | |
40, 68, 93, 79, 12, 13,18,25, 33, 7 | |
16, 70, 53, 69, 12, 3, 9, 2, 1, 0 | |
44, 23, 22, 20, 21, 5, 78, 69, 55, 43 | |
56, 78, 90, 100, 99, 63, 95, 54, 46, 47 | |
6, 2, 7, 90, 35, 67, 0, -3, -5, -1 | |
0, -3, -10, -5, -7, 11, 56, 47, 100, 101 | |
67, 78, 70, 74, 123, 120, 54, 57, 34, 7 | |
300, 456, 400, 367, 432, 3, 8, 10, 0, 1 | |
50, 47, 23, 45, 10, 1, 67, 89, 170, 152 | |
5, 90, 67, 70, 141, 0, -30, -5, -1, -28 | |
-4, 0, 45, -3, -50, 43, 38, 34, 36, -44 | |
700, 734, 708, 711, 767, 567, 32, 45, 0, 1 | |
8, 16, 17, 15, 0, 1, -6, -8, -5, -4 | |
39, 38, 40, 15, 18, 16, 3, 700, 800, 739 | |
22, 27, 25, 38, 35, 36, 11, 12, 13, 10 | |
771, 79, 19, 90, 0, 1, -5, 789, 300, 181 | |
37, 89, 10, 13, 56, 16, 30, 40, 32, 31 | |
99, 16, 39, 14, 18, 125, 209, 300, 274, 0 | |
40, 50, 34, 48, 31, 29, 14, 16, 11, 12 | |
61, 400, 387, 301, 305, 6, 17, 10, 9, -2 | |
-3, 0, 1, 8, 7, -14, -16, -10, 10, 18 | |
500, 511, 501, 635, 607, 100, 55, 104, 0, 5 |
Таблица 2 - Выбор обхода бинарного дерева
|
|
Вариант | Название обхода |
1, 4, 7, 10, 13, 16, 19, 22, 25, | симметричный |
2, 5, 8, 11, 14, 17, 20, 23 | в прямом порядке |
3, 6, 9, 12, 15, 18, 21, 24 | в обратном порядке |
Таблица 3 - Выбор метода поиска
Вариант | Название поиска |
2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50 | последовательный |
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49 | индексно-последовательный |
Лабораторная работа № 6
«ИЗУЧЕНИЕ АТД «СЛОВАРЬ», «ФАЙЛ» И «НАГРУЖЕННОЕ ДЕРЕВО»»
Цель работы: исследовать и изучить АТД «словарь», «файл» и «нагруженное дерево».
Задача работы: овладеть навыками составления структур АТД «словарь», «файл», «нагруженное дерево» и написания программ по исследованию этих структур на любом языке программирования.
Порядок работы:
1. изучить описание лабораторной работы;
2. по заданию, данному преподавателем, разработать одну из структур: АТД «словарь», «файл» или «нагруженное дерево»;
3. написать программу;
|
|
4. отладить программу;
5. решить задачу;
6. оформить отчет.
Краткая теория