Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Аналіз трудомісткості алгоритмів

Реферат Аналіз трудомісткості алгоритмів





tree;// покажчик на корінь дерева

void Find_this_symbol (char c)// пошук символів у списку

{<

{(int i = 0; i

{(c == symbol_vector [i]. symbol)// якщо символ вже є в списку

{_vector [i]. amount + +;

// збільшуємо його частоту;// і виходимо з функції

}

}

}

// Інакше додаємо в список новий символ

Symbol_class new_symbol; _symbol.symbol = c; _symbol.amount = 1; _vector.push_back (new_symbol);

} Read_File ()// читання файлу

{input_file ("Input.txt");// відкриваємо файл <<"Оригінальний текст: n"; (! input_file.eof ())

{read_symbol = input_file.get ();// зчитуємо файл посимвольний (! input_file.eof ()) _this_symbol (read_symbol); // шукаємо символ у списку

} _file.close ();// закриваємо файл

}

void Create_Null_Nodes ()// створюємо порожні вузли для дерева

{(int i = 0; i

{* tr = new Tree;> symbol = symbol_vector [i]. symbol;> weight = symbol_vector [i]. amount;> left_son = NULL;> right_son = NULL; _vector . push_back (tr);

}

} Sort ()// Сортування ел-тів дерева по їх вазі

{* temp; repeat;

{= false; (int i = 1; i

{(Tree_vector [i] -> weight> Tree_vector [i-1] -> weight)

{= Tree_vector [i]; _vector [i] = Tree_vector [i-1]; _vector [i-1] = temp; = true;

}

}

} while (repeat);

} Create_Tree ()// створюємо дерево Хаффмана

{(Tree_vector.size ()! = 1)// до тих поки не залишиться один вузол (корінь)

{tr_size = Tree_vector.size ();

Sort ();// сортуємо символи за їх вагою (частоті)

Tree * temp = new Tree;// створюємо новий вузол

// вага нового вузла дорівнює сумі ваг двох ел-тів з найменшою вагою

temp-> weight = _vector [tr_size-2] -> weight + Tree_vector [tr_size-1] -> weight;

// лівий син нового вузла вказує на останній ел-т

temp-> left_son = Tree_vector [tr_size-1];

Tree_vector.pop_back ();// викидаємо зі списку ел-т з мінімальною вагою

// повторюємо операцію для передостаннього ел-та

temp-> right_son = Tree_vector [tr_size-2]; _vector.pop_back ...


Назад | сторінка 2 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Практичне застосування квадратурних формул з вагою Чебишева-Ерміта
  • Реферат на тему: Проектування виробничих норм для робочого процесу (монтаж сходових майданчи ...
  • Реферат на тему: Визначення коефіцієнтів кореляції між зростом і вагою (в нормі) в осіб жіно ...
  • Реферат на тему: Організація списку за допомогою двійкового дерева
  • Реферат на тему: Просування бутіка розміру plus size на прикладі ТОВ &Атлант&, бутік &Elena ...