ASD_Lecture03
.pdfАлгоритми і структури даних
Лекція 3: Структури даних
др.інж. Андрій Керницький kernitsky@cad.lviv.ua
к.т.н. Павло Денисюк
Лекція 3
Зміст
•Структура пам’яті
•Вказівники
•Базові струкутри даних (стеки, черги, списки)
•Бінарні дерева
2
Лекція 3
Огляд
•Факт: Ми повинні зберігати структури даних у пам'яті комп'ютера.
•Як виглядає пам'ять комп'ютера?
3
Лекція 3
Фізична пам’ять
Схематично:
Адреса |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
… |
… |
||||||||
Вміст |
10110010 |
10001011 |
01011110 |
10000110 |
00010001 |
10011010 |
00110011 |
|
Лекція 3
Фізична пам’ять
Схематично :
Адреса |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
… |
… |
||||||||
Вміст |
10110010 |
10001011 |
01011110 |
10000110 |
00010001 |
10011010 |
00110011 |
|
При використанні, може виглядати наступним чином :
Не виділена |
Випадковий Windows™ процес |
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Світлина, яку я |
Текст е-листа |
перегладаю |
|
5
Лекція 3
Фізичні та абстрактні типи даних
•Існує два рівня уявлень про структуру даних:
•Фізичне: міркуємо фізичними адресами упам'яті
•Абстрактне: міркуємо тільки підтримуваними абстрактними операціями
•Приклади:
•Фізичне представлення: масиви, зв'язані списки
•Абстрактне представлення: набори, списки,
словники, дерева, графи
•Проте наша реалізація абстрактних типів повинна базуватися на фізичних структурах з якими працює комп'ютер
6
Лекція 3
Послідовні та зв’язані структури даних
•Ми можемо поділити фізичні структури даних на два класи
•Послідовний: складається з одного блоку пам'яті
•Зв'язаний: складається з декількох окремих ділянок пам'яті, пов'язаних між собою вказівниками
7
Лекція 3
Послідовні структури даних
Масив: структура із фіксованим розміром даних
Приклад:
Адреса … 38 39 40 41 42 43 44 45 46 47 48 49 …
Вміст
8
Лекція 3
Послідовні структури даних
Масив: структура із фіксованим розміром даних
Приклад:
Початкова адреса (s):
Адреса … 38 39 40 41 42 43 44 45 46 47 48 49 …
Вміст
9
Лекція 3
Послідовні структури даних
Масив: структура із фіксованим розміром даних
Приклад: |
Ширина запису (w) = 3 |
|||||||||||||
Початкова |
||||||||||||||
адреса (s): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Адреса … |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
… |
|
Вміст |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10
Лекція 3