🗊Презентация Динамические структуры данных. Односвязные и двусвязные списки

Нажмите для полного просмотра!
Динамические структуры данных. Односвязные и двусвязные списки, слайд №1Динамические структуры данных. Односвязные и двусвязные списки, слайд №2Динамические структуры данных. Односвязные и двусвязные списки, слайд №3Динамические структуры данных. Односвязные и двусвязные списки, слайд №4Динамические структуры данных. Односвязные и двусвязные списки, слайд №5Динамические структуры данных. Односвязные и двусвязные списки, слайд №6Динамические структуры данных. Односвязные и двусвязные списки, слайд №7Динамические структуры данных. Односвязные и двусвязные списки, слайд №8Динамические структуры данных. Односвязные и двусвязные списки, слайд №9Динамические структуры данных. Односвязные и двусвязные списки, слайд №10Динамические структуры данных. Односвязные и двусвязные списки, слайд №11Динамические структуры данных. Односвязные и двусвязные списки, слайд №12Динамические структуры данных. Односвязные и двусвязные списки, слайд №13Динамические структуры данных. Односвязные и двусвязные списки, слайд №14Динамические структуры данных. Односвязные и двусвязные списки, слайд №15Динамические структуры данных. Односвязные и двусвязные списки, слайд №16Динамические структуры данных. Односвязные и двусвязные списки, слайд №17Динамические структуры данных. Односвязные и двусвязные списки, слайд №18Динамические структуры данных. Односвязные и двусвязные списки, слайд №19Динамические структуры данных. Односвязные и двусвязные списки, слайд №20Динамические структуры данных. Односвязные и двусвязные списки, слайд №21Динамические структуры данных. Односвязные и двусвязные списки, слайд №22Динамические структуры данных. Односвязные и двусвязные списки, слайд №23Динамические структуры данных. Односвязные и двусвязные списки, слайд №24Динамические структуры данных. Односвязные и двусвязные списки, слайд №25Динамические структуры данных. Односвязные и двусвязные списки, слайд №26Динамические структуры данных. Односвязные и двусвязные списки, слайд №27Динамические структуры данных. Односвязные и двусвязные списки, слайд №28Динамические структуры данных. Односвязные и двусвязные списки, слайд №29Динамические структуры данных. Односвязные и двусвязные списки, слайд №30Динамические структуры данных. Односвязные и двусвязные списки, слайд №31Динамические структуры данных. Односвязные и двусвязные списки, слайд №32Динамические структуры данных. Односвязные и двусвязные списки, слайд №33Динамические структуры данных. Односвязные и двусвязные списки, слайд №34Динамические структуры данных. Односвязные и двусвязные списки, слайд №35Динамические структуры данных. Односвязные и двусвязные списки, слайд №36Динамические структуры данных. Односвязные и двусвязные списки, слайд №37Динамические структуры данных. Односвязные и двусвязные списки, слайд №38Динамические структуры данных. Односвязные и двусвязные списки, слайд №39Динамические структуры данных. Односвязные и двусвязные списки, слайд №40Динамические структуры данных. Односвязные и двусвязные списки, слайд №41Динамические структуры данных. Односвязные и двусвязные списки, слайд №42Динамические структуры данных. Односвязные и двусвязные списки, слайд №43Динамические структуры данных. Односвязные и двусвязные списки, слайд №44Динамические структуры данных. Односвязные и двусвязные списки, слайд №45Динамические структуры данных. Односвязные и двусвязные списки, слайд №46Динамические структуры данных. Односвязные и двусвязные списки, слайд №47Динамические структуры данных. Односвязные и двусвязные списки, слайд №48Динамические структуры данных. Односвязные и двусвязные списки, слайд №49Динамические структуры данных. Односвязные и двусвязные списки, слайд №50Динамические структуры данных. Односвязные и двусвязные списки, слайд №51Динамические структуры данных. Односвязные и двусвязные списки, слайд №52Динамические структуры данных. Односвязные и двусвязные списки, слайд №53

Содержание

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

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


Слайд 1





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

Лекция 5
Описание слайда:
Динамические структуры данных Лекция 5

Слайд 2






Динамические структуры
Односвязные (однонаправленные) списки
Двусвязные (двунаправленные) списки
Описание слайда:
Динамические структуры Односвязные (однонаправленные) списки Двусвязные (двунаправленные) списки

Слайд 3


Динамические структуры данных. Односвязные и двусвязные списки, слайд №3
Описание слайда:

Слайд 4


Динамические структуры данных. Односвязные и двусвязные списки, слайд №4
Описание слайда:

Слайд 5


Динамические структуры данных. Односвязные и двусвязные списки, слайд №5
Описание слайда:

Слайд 6


Динамические структуры данных. Односвязные и двусвязные списки, слайд №6
Описание слайда:

Слайд 7


Динамические структуры данных. Односвязные и двусвязные списки, слайд №7
Описание слайда:

Слайд 8


Динамические структуры данных. Односвязные и двусвязные списки, слайд №8
Описание слайда:

Слайд 9


Динамические структуры данных. Односвязные и двусвязные списки, слайд №9
Описание слайда:

Слайд 10


Динамические структуры данных. Односвязные и двусвязные списки, слайд №10
Описание слайда:

Слайд 11


Динамические структуры данных. Односвязные и двусвязные списки, слайд №11
Описание слайда:

Слайд 12


Динамические структуры данных. Односвязные и двусвязные списки, слайд №12
Описание слайда:

Слайд 13


Динамические структуры данных. Односвязные и двусвязные списки, слайд №13
Описание слайда:

Слайд 14


Динамические структуры данных. Односвязные и двусвязные списки, слайд №14
Описание слайда:

Слайд 15


Динамические структуры данных. Односвязные и двусвязные списки, слайд №15
Описание слайда:

Слайд 16


Динамические структуры данных. Односвязные и двусвязные списки, слайд №16
Описание слайда:

Слайд 17


Динамические структуры данных. Односвязные и двусвязные списки, слайд №17
Описание слайда:

Слайд 18


Динамические структуры данных. Односвязные и двусвязные списки, слайд №18
Описание слайда:

Слайд 19


Динамические структуры данных. Односвязные и двусвязные списки, слайд №19
Описание слайда:

Слайд 20






Что надо уметь делать со списком?
Описание слайда:
Что надо уметь делать со списком?

Слайд 21


Динамические структуры данных. Односвязные и двусвязные списки, слайд №21
Описание слайда:

Слайд 22






Создать новый узел.
Добавить узел:
в начало списка;
в конец списка;
после заданного узла;
до заданного узла.
Искать нужный узел в списке.
Удалить узел.
Описание слайда:
Создать новый узел. Добавить узел: в начало списка; в конец списка; после заданного узла; до заданного узла. Искать нужный узел в списке. Удалить узел.

Слайд 23





СТЕК
Стек – это линейный список, в котором все включения и исключения (и обычно всякий доступ) делаются в одном конце списка (в голове списка). 
Стеки используются в работе алгоритмов, имеющих рекурсивный характер. Конец стека называется вершиной стека. Принцип работы стека - “последний пришел - первый вышел”. Внизу находится наименее доступный элемент. Часто говорят, что элемент опускается в стек.
Описание слайда:
СТЕК Стек – это линейный список, в котором все включения и исключения (и обычно всякий доступ) делаются в одном конце списка (в голове списка). Стеки используются в работе алгоритмов, имеющих рекурсивный характер. Конец стека называется вершиной стека. Принцип работы стека - “последний пришел - первый вышел”. Внизу находится наименее доступный элемент. Часто говорят, что элемент опускается в стек.

Слайд 24


Динамические структуры данных. Односвязные и двусвязные списки, слайд №24
Описание слайда:

Слайд 25





Пример. Ввести с клавиатуры 10 чисел, записав их в стек. Вывести содержимое стека и очистить память.
Описание слайда:
Пример. Ввести с клавиатуры 10 чисел, записав их в стек. Вывести содержимое стека и очистить память.

Слайд 26


Динамические структуры данных. Односвязные и двусвязные списки, слайд №26
Описание слайда:

Слайд 27


Динамические структуры данных. Односвязные и двусвязные списки, слайд №27
Описание слайда:

Слайд 28


Динамические структуры данных. Односвязные и двусвязные списки, слайд №28
Описание слайда:

Слайд 29






Очередь – это линейный список, в один конец которого добавляются элементы, а с другого конца исключаются, элементы удаляются из начала списка, а добавляются в конце списка – как обыкновенная очередь в магазине. Принцип работы очереди: «первый пришел - первый вышел».
Описание слайда:
Очередь – это линейный список, в один конец которого добавляются элементы, а с другого конца исключаются, элементы удаляются из начала списка, а добавляются в конце списка – как обыкновенная очередь в магазине. Принцип работы очереди: «первый пришел - первый вышел».

Слайд 30






Пример. Ввести с клавиатуры 10 чисел, записав их в очередь. Вывести содержимое очереди и очистить память.
Для решения этой задачи достаточно в предыдущем примере изменить процедуру добавления элемента.
Описание слайда:
Пример. Ввести с клавиатуры 10 чисел, записав их в очередь. Вывести содержимое очереди и очистить память. Для решения этой задачи достаточно в предыдущем примере изменить процедуру добавления элемента.

Слайд 31


Динамические структуры данных. Односвязные и двусвязные списки, слайд №31
Описание слайда:

Слайд 32


Динамические структуры данных. Односвязные и двусвязные списки, слайд №32
Описание слайда:

Слайд 33


Динамические структуры данных. Односвязные и двусвязные списки, слайд №33
Описание слайда:

Слайд 34





Двусвязные списки
При добавлении нового узла NewNode в начало списка надо
1) установить ссылку next узла NewNode на голову существующего списка и его ссылку prev в NULL;
Описание слайда:
Двусвязные списки При добавлении нового узла NewNode в начало списка надо 1) установить ссылку next узла NewNode на голову существующего списка и его ссылку prev в NULL;

Слайд 35





Двусвязные списки
2) установить ссылку prev бывшего первого узла (если он существовал) на NewNode;
Описание слайда:
Двусвязные списки 2) установить ссылку prev бывшего первого узла (если он существовал) на NewNode;

Слайд 36





Двусвязные списки
3) установить голову списка на новый узел;
4) если в списке не было ни одного элемента, хвост списка также устанавливается на новый элемент.
Описание слайда:
Двусвязные списки 3) установить голову списка на новый узел; 4) если в списке не было ни одного элемента, хвост списка также устанавливается на новый элемент.

Слайд 37





Двусвязные списки
Описание слайда:
Двусвязные списки

Слайд 38





Добавление узла после заданного
Дан адрес NewNode нового узла и адрес p одного из существующих узлов в списке. 
Требуется вставить в список новый узел после p. 
Если узел p является последним, то операция сводится к добавлению в конец списка.
Описание слайда:
Добавление узла после заданного Дан адрес NewNode нового узла и адрес p одного из существующих узлов в списке. Требуется вставить в список новый узел после p. Если узел p является последним, то операция сводится к добавлению в конец списка.

Слайд 39





Добавление узла после заданного
 Если узел p – не последний, то операция
вставки выполняется в два этапа:
1) установить ссылки нового узла на следующий за данным (next) и предшествующий ему (prev);
2) установить ссылки соседних узлов так, чтобы включить NewNode в список.
Описание слайда:
Добавление узла после заданного Если узел p – не последний, то операция вставки выполняется в два этапа: 1) установить ссылки нового узла на следующий за данным (next) и предшествующий ему (prev); 2) установить ссылки соседних узлов так, чтобы включить NewNode в список.

Слайд 40





Добавление узла после заданного
(добавление после выполняется аналогично)
Описание слайда:
Добавление узла после заданного (добавление после выполняется аналогично)

Слайд 41





Поиск узла в списке
Проход по двусвязному списку может выполняться в двух направлениях – от головы к хвосту (как для односвязного) или от хвоста к голове.
Описание слайда:
Поиск узла в списке Проход по двусвязному списку может выполняться в двух направлениях – от головы к хвосту (как для односвязного) или от хвоста к голове.

Слайд 42





Проход по списку в от головы списка
Алгоритм:
установить вспомогательный указатель q на голову списка;
если указатель q  равен NULL (дошли до конца списка), то стоп;
выполнить действие над узлом с адресом q ;
перейти к следующему узлу, q->next
Перейти к п.2
Описание слайда:
Проход по списку в от головы списка Алгоритм: установить вспомогательный указатель q на голову списка; если указатель q равен NULL (дошли до конца списка), то стоп; выполнить действие над узлом с адресом q ; перейти к следующему узлу, q->next Перейти к п.2

Слайд 43






...
PNode q = Head;       // начали с головы 
while ( q != NULL )
 {                           // пока не дошли до конца 
  ...                        // делаем что-то хорошее с q
  q = q->next;      // переходим к следующему узлу
  }
...
Описание слайда:
... PNode q = Head; // начали с головы while ( q != NULL ) { // пока не дошли до конца ... // делаем что-то хорошее с q q = q->next; // переходим к следующему узлу } ...

Слайд 44





Проход по списку от хвоста к голове списка
Алгоритм:
установить вспомогательный указатель q на хвост списка;
если указатель q  равен NULL (дошли до начала списка), то стоп;
выполнить действие над узлом с адресом q ;
перейти к следующему узлу, q->prev
Описание слайда:
Проход по списку от хвоста к голове списка Алгоритм: установить вспомогательный указатель q на хвост списка; если указатель q равен NULL (дошли до начала списка), то стоп; выполнить действие над узлом с адресом q ; перейти к следующему узлу, q->prev

Слайд 45






PNode q = Tail;       // начали с хвоста
while ( q != NULL ) 
 {                        // пока  не дошли до начала 
  ...                     // делаем что-то хорошее с q
  q = q->prev;  // переходим к следующему узлу
  }
...
Описание слайда:
PNode q = Tail; // начали с хвоста while ( q != NULL ) { // пока не дошли до начала ... // делаем что-то хорошее с q q = q->prev; // переходим к следующему узлу } ...

Слайд 46





Удаление узла
Описание слайда:
Удаление узла

Слайд 47


Динамические структуры данных. Односвязные и двусвязные списки, слайд №47
Описание слайда:

Слайд 48





 Циклические списки
Иногда список (односвязный или двусвязный) замыкают в кольцо.
Указатель next последнего элемента указывает на первый элемент.
Для двусвязных списков указатель prev первого элемента указывает на последний. В таких списках понятие «хвоста» списка не имеет смысла, для работы с ним надо использовать указатель на «голову», причем «головой» можно считать любой элемент.
Описание слайда:
Циклические списки Иногда список (односвязный или двусвязный) замыкают в кольцо. Указатель next последнего элемента указывает на первый элемент. Для двусвязных списков указатель prev первого элемента указывает на последний. В таких списках понятие «хвоста» списка не имеет смысла, для работы с ним надо использовать указатель на «голову», причем «головой» можно считать любой элемент.

Слайд 49






Дано число N и N целых чисел. Создать циклический односвязный линейный список, в который поместить все эти элементы в порядке поступления (тип – очередь). Вернуть указатель на первый элемент списка. Затем распечатать этот список.
Описание слайда:
Дано число N и N целых чисел. Создать циклический односвязный линейный список, в который поместить все эти элементы в порядке поступления (тип – очередь). Вернуть указатель на первый элемент списка. Затем распечатать этот список.

Слайд 50


Динамические структуры данных. Односвязные и двусвязные списки, слайд №50
Описание слайда:

Слайд 51


Динамические структуры данных. Односвязные и двусвязные списки, слайд №51
Описание слайда:

Слайд 52





Вывести значение N-го элемента кольцевого списка. Считать, что счет начинается с первого элемента и продолжается по кругу, если элементов в списке меньше N.
Описание слайда:
Вывести значение N-го элемента кольцевого списка. Считать, что счет начинается с первого элемента и продолжается по кругу, если элементов в списке меньше N.

Слайд 53





Вставить значение х после N-го по счету элемента циклического списка.
Описание слайда:
Вставить значение х после N-го по счету элемента циклического списка.



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