🗊Презентация 5. Распределение памяти

Нажмите для полного просмотра!
5. Распределение памяти, слайд №15. Распределение памяти, слайд №25. Распределение памяти, слайд №35. Распределение памяти, слайд №45. Распределение памяти, слайд №55. Распределение памяти, слайд №65. Распределение памяти, слайд №75. Распределение памяти, слайд №85. Распределение памяти, слайд №95. Распределение памяти, слайд №105. Распределение памяти, слайд №115. Распределение памяти, слайд №125. Распределение памяти, слайд №135. Распределение памяти, слайд №145. Распределение памяти, слайд №155. Распределение памяти, слайд №165. Распределение памяти, слайд №175. Распределение памяти, слайд №185. Распределение памяти, слайд №195. Распределение памяти, слайд №205. Распределение памяти, слайд №215. Распределение памяти, слайд №225. Распределение памяти, слайд №23

Содержание

Вы можете ознакомиться и скачать презентацию на тему 5. Распределение памяти. Доклад-сообщение содержит 23 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Распределение памяти
Время существования объекта:
Глобальные объекты – существующие всё время исполнения программы
Локальные объекты процедур – существующие во время исполнения функции
Динамические объекты – появляются по специальному запросу в «куче»
исчезают по специальному запросу 
исчезают автоматически после того, как становятся недоступными (автоматическая сборка мусора)
Описание слайда:
Распределение памяти Время существования объекта: Глобальные объекты – существующие всё время исполнения программы Локальные объекты процедур – существующие во время исполнения функции Динамические объекты – появляются по специальному запросу в «куче» исчезают по специальному запросу исчезают автоматически после того, как становятся недоступными (автоматическая сборка мусора)

Слайд 2





Создание и удаление 
нового объекта (Pascal)
new(p) 
размещается память для хранения объекта типа Т
указателю p присваивается ссылка на новый анонимный объект
dispose(p)
память освобождается для дальнейшего переиспользования
Описание слайда:
Создание и удаление нового объекта (Pascal) new(p) размещается память для хранения объекта типа Т указателю p присваивается ссылка на новый анонимный объект dispose(p) память освобождается для дальнейшего переиспользования

Слайд 3





Создание и удаление 
нового объекта (C)
new(p) 
размещается память для хранения объекта типа Т
указателю p присваивается ссылка на новый анонимный объект
free(p)
память освобождается для дальнейшего переиспользования
Описание слайда:
Создание и удаление нового объекта (C) new(p) размещается память для хранения объекта типа Т указателю p присваивается ссылка на новый анонимный объект free(p) память освобождается для дальнейшего переиспользования

Слайд 4





Создание и удаление 
массива (C)
new(p) 
размещается память для хранения N объектов типа Т
указателю p присваивается ссылка на первый новый анонимный объект
free(p)
память освобождается для дальнейшего переиспользования
Описание слайда:
Создание и удаление массива (C) new(p) размещается память для хранения N объектов типа Т указателю p присваивается ссылка на первый новый анонимный объект free(p) память освобождается для дальнейшего переиспользования

Слайд 5





Накладные расходы
Дополнительная память для организации кучи
Сам указатель занимает место (возможно большее, чем размещаемый объект)
char * p;
new(p);
Управление размещением памятью – сложные операции
Фрагментация – свободная память есть, но слишком мелкими кусками
Описание слайда:
Накладные расходы Дополнительная память для организации кучи Сам указатель занимает место (возможно большее, чем размещаемый объект) char * p; new(p); Управление размещением памятью – сложные операции Фрагментация – свободная память есть, но слишком мелкими кусками

Слайд 6





Типичные ошибки
new(p);
q = p;
free(p);
free(q);
new(p);
new(p);
p = NULL;
free(p);
Описание слайда:
Типичные ошибки new(p); q = p; free(p); free(q); new(p); new(p); p = NULL; free(p);

Слайд 7





Автоматическая сборка мусора
Можно считать, что динамически размещённый объект существует до конца исполнения программы
Позволяет избежать большинство самых «трудных» ошибок
проявляются не всегда
не воспроизводятся
проявляются далеко от места ошибки и не связаны явно с распределением памяти
Доступна в Lisp, Oberon, Visual Basic, C#, …. и эффективна
Описание слайда:
Автоматическая сборка мусора Можно считать, что динамически размещённый объект существует до конца исполнения программы Позволяет избежать большинство самых «трудных» ошибок проявляются не всегда не воспроизводятся проявляются далеко от места ошибки и не связаны явно с распределением памяти Доступна в Lisp, Oberon, Visual Basic, C#, …. и эффективна

Слайд 8





Автоматическая сборка мусора
Всё-таки весьма сложна
Случается в непредсказуемые моменты времени
Описание слайда:
Автоматическая сборка мусора Всё-таки весьма сложна Случается в непредсказуемые моменты времени

Слайд 9





Пример - дерево
В корне дерева хранится информация об имени
Для каждого узла дерева – ссылка на родителя
Для каждого узла дерева – ссылки на произвольное количество детей
Описание слайда:
Пример - дерево В корне дерева хранится информация об имени Для каждого узла дерева – ссылка на родителя Для каждого узла дерева – ссылки на произвольное количество детей

Слайд 10





Пример
Описание слайда:
Пример

Слайд 11





Пример – кодирование двоичным деревом
Описание слайда:
Пример – кодирование двоичным деревом

Слайд 12





Сравнение
СhildrenCount, Children
Накладные расходы:
14N - 4
Быстрый способ узнать количество детей
Быстрый доступ к любому поддереву
Описание слайда:
Сравнение СhildrenCount, Children Накладные расходы: 14N - 4 Быстрый способ узнать количество детей Быстрый доступ к любому поддереву

Слайд 13





Односвязные списки
info – информация, содержащаяся в элементе списка
next – ссылка на следующий элемент
Описание слайда:
Односвязные списки info – информация, содержащаяся в элементе списка next – ссылка на следующий элемент

Слайд 14





Односвязные списки - примеры
Подсчёт количества элементов
Сумма элементов списка
Описание слайда:
Односвязные списки - примеры Подсчёт количества элементов Сумма элементов списка

Слайд 15





Односвязные списки – стек (магазин, LIFO)
Добавление элемента x в начало списка (push)
Получение значения первого элемента (top)
Удаление первого элемента (pop)
Проверка пустоты стека (empty)
Описание слайда:
Односвязные списки – стек (магазин, LIFO) Добавление элемента x в начало списка (push) Получение значения первого элемента (top) Удаление первого элемента (pop) Проверка пустоты стека (empty)

Слайд 16





Односвязные списки – стек (магазин, FIFO)
Добавление элемента x в начало списка (push)
Описание слайда:
Односвязные списки – стек (магазин, FIFO) Добавление элемента x в начало списка (push)

Слайд 17





Односвязные списки – стек (магазин, FIFO)
Удаление первого элемента (pop)
Описание слайда:
Односвязные списки – стек (магазин, FIFO) Удаление первого элемента (pop)

Слайд 18





Односвязные списки – очередь (FIFO)
Добавление элемента – в конец очереди
List * last = &root;
«Обслуживание» - из начала очереди
Описание слайда:
Односвязные списки – очередь (FIFO) Добавление элемента – в конец очереди List * last = &root; «Обслуживание» - из начала очереди

Слайд 19





Односвязные списки – очередь (LIFO)
Добавление элемента x в конец списка
Описание слайда:
Односвязные списки – очередь (LIFO) Добавление элемента x в конец списка

Слайд 20





Упорядоченные односвязные списки
Добавление элемента x (равного 5.0)
Описание слайда:
Упорядоченные односвязные списки Добавление элемента x (равного 5.0)

Слайд 21





Двусвязные циклические списки
Дополнительная ссылка на предыдущий элемент
Следующий последнего – первый
Предыдущий первого - последний
Описание слайда:
Двусвязные циклические списки Дополнительная ссылка на предыдущий элемент Следующий последнего – первый Предыдущий первого - последний

Слайд 22





Двусвязные циклические списки
Удаление элемента, заданного ссылкой p
Особо рассмотреть случай одноэлементного списка
Описание слайда:
Двусвязные циклические списки Удаление элемента, заданного ссылкой p Особо рассмотреть случай одноэлементного списка

Слайд 23





Прочие структуры данных
Двоичные деревья 
ссылка на правое поддерево
ссылка на левое поддерево
«Вагонная» память – оба конца списка равноправны:
добавлять
удалять
выбирать крайний
Описание слайда:
Прочие структуры данных Двоичные деревья ссылка на правое поддерево ссылка на левое поддерево «Вагонная» память – оба конца списка равноправны: добавлять удалять выбирать крайний



Похожие презентации
Mypresentation.ru
Загрузить презентацию