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

Реферат AGraph: бібліотека класів для роботи з поміченими графами





Реалізовані в ході цієї роботи базові структури даних і алгоритми увійшли до складу бібліотеки Vectors. У бібліотеці реалізовані вектори (динамічні масиви) на базі основних типів Object Pascal, в тому числі на базі всіх цілих і речових типів, логічних змінних і рядків. Вектори підтримують велику кількість операцій; деякі з яких є загальними для всіх векторів, інші залежать від типу елементів даного вектора. До складу бібліотеки входить також ряд похідних і допоміжних класів: розріджені вектори, матриці, збалансовані дерева пошуку, пріоритетні черги, словники, потоки в пам'яті, файлові потоки та ін

При написанні бібліотеки Vectors враховувалися міркування ефективності, надійності та переносимості. Багато векторні операції реалізовані в декількох варіантах: на Object Pascal і на вбудованому асемблері Object Pascal. Вибір між варіантами на Object Pascal і вбудованому асемблері здійснюється з допомогою директив умовної компіляції. Якщо програма компілюється в режимі, вирішуючому використання асемблерних варіантів, то при запуску програми засоби часу виконання автоматично визначають розширені можливості процесора (в даний час перевіряється підтримка MMX-інструкцій) і вибирають найбільш ефективний варіант реалізації тієї чи іншої операції з урахуванням можливостей процесора. p> Для більш ефективного пошуку помилок в прикладних програмах бібліотека підтримує відлагоджувальний режим (також включається відповідною директивою компіляції), в якому методи класів бібліотеки здійснюють максимально повну перевірку виконання передумов і коректності переданих їм параметрів. Крім того, в налагоджувальному режимі здійснюється контроль над операціями створення та знищення об'єктів, що відносяться до класів бібліотеки. Якщо при завершенні програми які-небудь з цих об'єктів не знищуються, то користувачеві видається запит на запис списку незнищені об'єктів у файл. p> Серйозною перешкодою при написанні бібліотеки Vectors стала відсутність у мові Object Pascal коштів, аналогічних шаблонами C + +. Очевидно, що незалежна реалізація векторів, що відрізняються лише типом елементів, привела б до дублювання програмного коду, численних помилок і, в кінцевому рахунку, загрожувала б втратою керованості проектом. Рішенням даної проблеми могло б стати використання зовнішнього макропроцесора, проте це значно ускладнило б як розробку, так і використання бібліотеки. Замість цього в бібліотеці був застосований механізм "псевдошаблонов", заснований виключно на засобах Object Pascal: директиві INCLUDE і перевизначенні типів. p> 3. Внутрішнє подання графів

Існують різні способи внутрішнього представлення графів в оперативній пам'яті ЕОМ, у тому числі у вигляді списків (масивів) вершин і ребер, списків (Масивів) суміжності, матриць суміжності, а також у вигляді комбінацій цих структур зберігання. Вибір внутрішнього подання робить вирішальний вплив на ефективність виконання різних операцій над графами і багато в чому визначає "т...


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





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

  • Реферат на тему: Програмування на мові Object Pascal
  • Реферат на тему: Типи даних в Object Pascal
  • Реферат на тему: Реалізація алгоритму визначення n! засобими Object Pascal 2.0
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми обчислення суми елементів рядкі ...
  • Реферат на тему: Створення бібліотеки класів і керовану користувачем програму з псевдографіч ...