Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Динамічні структури даних

Статичні структури даних

Статичні структури даних. Напівстатичні структури даних.

Статичні структури є структурованою безліччю примітивних структур. Наприклад, вектор може бути представлений впорядкованою безліччю чисел. Мінливість невластива статичним структурам, т. е. розмір пам'яті комп'ютера, що відводиться для таких даних, постійний і виділяється на етапі компіляції або виконання програми.

Вектори

З логічної точки зору вектор (одновимірний масив) є структурою даних з фіксованим числом елементів одного і того ж типу. Кожен елемент вектору має свій унікальний номер (індекс). Звернення до елементу вектору виконується по імені вектору і номеру елементу.

З фізичної точки зору елементи вектору розміщуються в пам'яті в підряд розташованих елементах пам'яті (мал. 3.6). Під елемент вектору виділяється кількість байт пам'яті, визначуване базовим типом елементу цього вектору. Тоді розмір пам'яті, що відводиться для розміщення вектору, визначатиметься наступним співвідношенням: S= до* Sizeof(тип), де до - кількість елементів (довжина) вектору, а Sizeof(тип) -- розмір пам'яті, необхідної для зберігання одного елементу вектору.

 

Мал. 3.6. Представлення вектору в пам'яті:

@Ім'я - адреса вектору або адреса першого елементу вектору

Двовимірні масиви

Двовимірний масив (матриця) - це вектор, кожен елемент якого вектор. Тому те, що справедливо для вектору, справедливо і для матриці (аналогічно для n -мерных масивів).

 

Полу статичні структури даних

Властивості напівстатичних структур даних:

• вони мають змінну довжину і прості способи її зміни;

• зміна довжини структури відбувається в певних межах, не перевищуючи якогось максимального (граничного) значення.

З логічної точки зору напівстатична структура є послідовністю даних, пов'язаною стосунками лінійного списку (см разд. 3.3.5). Доступ до елементу може здійснюватися по його порядковому номеру.

Фізично напівстатичні структури представляються або у вигляді вектору, т. е. розташовуються в безперервній області пам'яті, або у вигляді однонапрямленого зв'язного списку, де кожен наступний елемент адресується покажчиком, що знаходиться в поточному елементі.

До напівстатичних структур відносяться стеки, черги, деки, рядки.

Динамічні структури не мають постійного розміру, тому пам'ять під окремі елементи таких структур виділяється в мить, коли вони створюються в процесі виконання програми, а не під час трансляції. Коли в елементі структури більше немає необхідності, займана ним пам'ять звільняється (елемент "руйнується").

Оскільки елементи динамічної структури розташовуються в пам'яті не по порядку і навіть не в одній області, адреса елементу такої структури не може бути вичислена з адреси початкового або попереднього елементу. Зв'язок між елементами динамічної структури встановлюється через покажчики, що містять адреси елементів в пам'яті. Таке представлення даних в пам'яті називається зв'язковим.

Таким чином, окрім інформаційних полів, заради яких створюється структура і які є видимими для кінцевого користувача ПО, динамічні структури містять поля для зв'язку з іншими елементами, видимі тільки для програміста - розробника ПО.

За допомогою зв'язного представлення даних забезпечується висока мінливість структури. Достоїнства динамічних структур:

• розмір структури обмежується тільки об'ємом пам'яті комп'ютера;

• при зміні логічної послідовності елементів структури (видаленні, додаванні елементу, зміні порядку дотримання елементів) потрібно тільки корекцію покажчиків.

З іншого боку, такі структури мають ряд недоліків:

• робота з покажчиками вимагає високої кваліфікації програміста;

• на покажчики витрачається додаткова пам'ять;

• додаткова витрата часу на доступ до елементів зв'язної структури.

Література

13. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения: Пер. с англ.— М.: Мир, 1982 — 368 с., ил.

14. Іващук В.В. Курс лекцій «Засоби мультимедіа в нових інформаційних технологіях» Національний університет харчових технологій.-К.: НУХТ, 2011. – 77 с.

15. Когутяк М.І., Дранчук М.М., Когуч Я.Р., Шавранський М.В., Лещій Р.М. Автоматизація неперервних технологічних процесів в нафтовій та газовій промисловості: Навчальний посібник.–Івано-Франківськ: Факел, 2006.–385с.

16. Конспект лекцій з дисципліни “Системи технологій”: к. т. н., доц. Фесенко М.С. Алчевськ ДонДТУ 2006, 70 стр.

17. Кухнюк Н.В., викладач Технічного коледжу. Інтерактивний комплекс. з дисципліни “Автоматизація технологічних процесів”. 2008, 227 ст.

18. Ларман Крэг. Применение UML и шаблонов проектирования. 2-е издание.: Пер. с англ. – М. Вильямс, 2004-624 с.:ил.

19. Проць, О.А. Данилюк, Т.Б. Лобур. Автоматизація неперервних технологічних процесів. Навчальний посібник для технічних спеціальностей вищих навчальних закладів. – Тернопіль: ТДТУ ім. І.Пулюя, 2008. – 239 с.

20. С.В.Шаповал, Н.Г.Морковська. Конспект лекцій з курсу „Системи технологій” Харків. ХНАМГ, 2005.- 70 с.

21. Microsoft Corporation Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD/Пер. с англ. -2-е издание. Русская Редакция, 2002 – 736 стр., ил.

22. Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения: учебное пособие / под ред. Л. Г Гагариной. — М.: ИД «ФОРУМ»: ИНФРА-М, 2008. — 400 с.: ил. — (Высшее образование).

23. Галіцин В.К., Сидоренко Ю.Т., Потапенко С.Д. Технологія програмування і створення програмних продуктів: Навч. посіб. — К.: КНЕУ, 2009. — 372 с.

24. Гужва В. М. Інформаційні системи і технології на підприємствах: Навч. посібник. — К.: КНЕУ, 2001. — 400 c.

 

<== предыдущая лекция | следующая лекция ==>
Прості структури даних | Структурне програмування. Тема 3. Теорія і методи структурного програмування
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1837; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.