Алгоритм
<<  Что такое алгоритм Тема "Алгоритмы" в школьном курсе информатики  >>
Связный список
Связный список
Однонаправленный связный список
Однонаправленный связный список
Однонаправленный связный список
Однонаправленный связный список
Однонаправленный
Однонаправленный
Однонаправленный
Однонаправленный
Двунаправленный связный список
Двунаправленный связный список
Картинки из презентации «Структуры и алгоритмы обработки данных Лекция» к уроку информатики на тему «Алгоритм»

Автор: . Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Структуры и алгоритмы обработки данных Лекция.ppt» со всеми картинками в zip-архиве размером 532 КБ.

Структуры и алгоритмы обработки данных Лекция

содержание презентации «Структуры и алгоритмы обработки данных Лекция.ppt»
Сл Текст Сл Текст
1Структуры и алгоритмы обработки данных 23Однонаправленный связный список. //
Лекция. Структуры. Связные списки. Заикин Объявление struct Single_List {
Олег Сергеевич zaikin.all24.org. //структура данных int Data;
2Перечисление структуры объединения. //информационное поле Single_List *Next;
3Перечисление. Перечисление //адресное поле }; Single_List *Head;
(enumeration) — тип данных, множество //указатель на первый // элемент списка
значений которого представляет собой Single_List *Current; //указатель на
ограниченный список идентификаторов. текущий // элемент списка.
Каждому элементу перечисления 24Однонаправленный. Создание. Сначала
соответствует целое число. Начальное нужно создать первый элемент списка, а
значение равно 0, каждое последующее на 1 затем добавить остальные элементы. void
больше предыдущего. Пример: winter_months Make_Single_List(int n, Single_List
{december, january, february}. *&Head){ if (n > 0) { Head = new
4Перечисление. Формат: enum Single_List(); // выделяем память cout
имя_перечисления { список_перечисления } << "Введите значение "
список_переменных; список_переменных << endl; cin >> Head->Data;
необязателен. // получаем значение // информационного
5Перечисление. Создание именованных поля Head->Next=NULL; // обнуление
констант с автоматическим увеличением адресного поля Make_Single_List(n-1,
значения константы Предупреждения о Head->Next); } }.
возможных ошибках со стороны компилятора 25Однонаправленный. Создание.
Пример enum winter_months{december, Make_Single_List() рекурсивно вызывается,
january, february}; cout << december пока n > 0. Head->Next передается
<< ‘ ’ << february; Вывод: 0 как нулевой адрес очередного узла. После
2. последнего вызова функции значение
6Перечисление. имя_перечисления задает Head->Next останется равным NULL. Таким
тип переменной, его можно использовать для образом будет сделан последний узел
объявления переменных. Пример. rmsk - односвязного списка.
перечисление римских цифр enum rmsk { I=1, 26Однонаправленный. Просмотр. Операция
V=5, X=10, L=50, C=100, D=500, M=1000 }; печати списка заключается в
rmsk newvar; // объявление newvar newvar = последовательном просмотре всех узлов
M + D + V; cout << newvar << списка и выводе их значений на экран. Для
endl; Результат: 1505. обработки списка организуется функция, в
7Структура. Структура – коллекция которой нужно переставлять указатель на
объединенных общим именем переменных, следующий узел списка до тех пор, пока
которая обеспечивает удобное средство указатель не станет, равен NULL, то есть
хранения данных в одном месте. Структура – будет достигнут конец списка.
составной тип данных. Переменные в 27Однонаправленный. Просмотр. //Печать
структуре называются ее элементами. однонаправленного списка void
8Структуры. Формат описания: struct print_single_list(single_list* head) { if
имя_структуры { тип имя_элемента1; … тип (head != NULL) { cout <<
имя_элементаN; } список_переменных; Пример head->data << “ ”; //переход к
struct complex { float re,im} a; a.re = 5; следующему элементу
a.im=10; re. a. im. print_single_list(head->next); } else
9Структуры. Операции доступа к элементу cout << endl; }.
структуры: . – через переменную -> – 28Однонаправленный. Добавление узла. Для
через указатель Доступ к элементам: добавления узлов достаточно изменить
complex a, c,*b=&c; // b - указатель значения адресных полей. Вставка первого и
a.re=0.0; a.im=3.0; c.re=1.0; последующих элементов списка отличаются
b–>im=2.0; (*b).im=2.0; Присваивание друг от друга. Поэтому в функции,
c=*b; a=c; Массивы структур: complex d[5]; реализующей данную операцию, сначала
10Структуры. В C++ нельзя узнать размер осуществляется проверка, на какое место
динамического массива через его указатель. вставляется элемент.
Поэтому нужно хранить текущую длину 29Однонаправленный. Удаление узла. После
динамического массива в целочисленной удаления указатель текущего элемента
переменной. В структуре можно хранить устанавливается на предшествующий элемент
указатель и длину: struct dynamic_array{ списка или на новое начало списка, если
float *arr; int arr_len } d_arr; arr_len = удаляется первый. Алгоритмы удаления
10; arr=new float[arr_len]; d_arr.arr = первого и последующих элементов списка
arr; d_arr.arr_len = arr_len; отличаются друг от друга.
11Структуры. Структура может содержать в 30Однонаправленный. Поиск. Операция
качестве элемента статический массив и поиска элемента в списке заключается в
даже указатель на эту же структуру. последовательном просмотре всех элементов
Пример. struct mystruct{ int a; char списка до тех пор, пока текущий элемент не
str[80]; mystruct *sptr; } Структуры, с будет содержать заданное значение или пока
указателями на самих себя часто не будет достигнут конец списка. В
используются для реализации связных последнем случае фиксируется отсутствие
списков. искомого элемента в списке (функция
12Объединения. Объединение состоит из принимает значение false).
нескольких переменных, которые разделяют 31Двунаправленный связный список. Ссылки
одну и ту же область памяти. Обеспечивает в каждом узле указывают на предыдущий и на
единый интерфейс для различных типов последующий узел в списке. По двусвязному
данных. списку можно передвигаться в любом
13Объединения. Формат описания: union направлении — как к началу, так и к концу.
имя { тип имя_элемента1; … тип Проще производить удаление и перестановку
имя_элементаN; } список_переменных; элементов, так как всегда известны адреса
Пример: struct double_char{ char h_b, тех элементов списка, указатели которых
l_b;}; union un{ short int i; double_char направлены на изменяемый элемент.
j; }; un a; a.j.h_b = ‘f’; a.j.l_b=‘d’; 32Двунаправленный связный список. Struct
cout << a.i << endl; double_list { // структура данных int
Результат: 49. i. l_b. a. h_b. data; // информационное поле double_list
14СВЯЗНЫЕ СПИСКИ intuit.ru динамические *next, // адрес следующего *prior; //
структуры данных. адрес предыдущего }; double_list *head; //
15Связный список. Структура данных, указатель на первый // узел списка
состоящая из узлов, каждый из которых double_list *current; // указатель на
содержит данные, и ссылки на следующий текущий // узел списка (при
и/или предыдущий узел списка. Преимущество необходимости).
перед массивом - структурная гибкость: 33Двунаправленный. Создание. void
порядок элементов связного списка может не Make_Double_List(int n, Double_List* Head,
совпадать с порядком расположения Double_List* Prior) { if (n > 0) { Head
элементов данных в памяти компьютера, а = new Double_List(); cout <<
порядок обхода списка задаётся его "Введите значение "; cin
внутренними связями. >> Head->Data; Head->Prior =
16Связный список. Узел связного списка Prior; Head->Next=NULL;
состоит из двух полей: адресного поля (P), Make_Double_List(n-1, Head->Next,
в котором содержатся один или несколько Head); } else Head= NULL; }.
указателей, связывающий данный узел с 34Двунаправленный. Создание.
другими узлами списка; поля данных (D), в Make_Double_List() рекурсивно вызывается,
котором содержатся те данные, ради которых пока n > 0. Head->Next передается
и создается структура. как нулевой адрес очередного узла. Адрес
17Связный список. В общем случае узел текущего узла передается как Prior, чтобы
списка может содержать не один, а запомнить его как предыдущий для
несколько указателей и несколько полей следующего узла. При создании первого узла
данных. Поле данных может быть переменной, Prior == NULL, у первого узла нет
массивом или структурой. предыдущего. Пример. Make_Double_List(3,
18Классификация. Линейные связные списки Head, NULL); После последнего вызова
- Однонаправленный связный список - функции значение Head->Next останется
Двунаправленный связный список - равным NULL. Таким образом будет сделан
XOR-связный список Кольцевой связный последний узел односвязного списка.
список … 35Кольцевой связный список. Может быть
19Однонаправленный связный список. В односвязным или двусвязным. Последний
каждом узле хранится указатель на элемент кольцевого списка содержит
следующий узел списка. В последнем указатель на первый, а первый (в случае
элементе указатель на следующий элемент двусвязного списка) — на последний. Узла с
равен NULL. Можно передвигаться только в указателем на NULL не существует.
сторону конца списка. 36Xor-связный список. В каждом элементе
20Однонаправленный связный список. хранится только один адрес — результат
Описание простейшего узла: struct выполнения операции XOR над адресами
имя_списка { информационное поле; адресное предыдущего и следующего элементов списка.
поле; }; Пример struct human { char *name; Нужно хранить два указателя на соседние
// информационное поле int age; // узлы. Для того, чтобы перемещаться по
информационное поле human *ptr; // списку, необходимо взять два
адресное поле }; последовательных адреса и выполнить над
21Однонаправленный связный список. ними операцию XOR, которая и даст реальный
Необходимо обеспечивать позиционирование адрес следующего элемента.
какого-либо указателя на первый элемент. В 37Xor-связный список. Пример Пусть даны
противном случае часть или весь список указатели First и Second. First указывает
будет недоступен. на узел № 2, Second – на узел 3.
22Однонаправленный связный список. First->P = XOR от адресов узлов № 1 и
Основные операции: создание списка; 3, Second->P = XOR от адресов узлов № 2
просмотр списка; вставка элемента в и 4. XOR (First->P, Second) = адрес
список; удаление элемента из списка; поиск узла 1 XOR (Second->P, First) = адрес
элемента в списке проверка пустоты списка; узла 4.
удаление списка.
Структуры и алгоритмы обработки данных Лекция.ppt
http://900igr.net/kartinka/informatika/struktury-i-algoritmy-obrabotki-dannykh-lektsija-205750.html
cсылка на страницу

Структуры и алгоритмы обработки данных Лекция

другие презентации на тему «Структуры и алгоритмы обработки данных Лекция»

«Схема алгоритма» - Обозначим время буквой t. Разветвляющийся алгоритм (неполная форма). Разветвляющийся алгоритм. Самостоятельно: Если на улице пойдет дождь, то необходимо открыть зонт. Перед сном я умываюсь и чищу зубы. Самостоятельно: После уроков я пойду домой. Возвращаюсь домой. Конец. Линейный алгоритм. Схема алгоритма.

«Алгоритмы» - То не сиди на печи. Зайти в магазин. Общественный опрос. Взять мороженое. Если тише едешь, Блок ввода данных и результата. Характеристика исполнителя. Курочка - Ряба. Графический способ записи алгоритма. Виды алгоритмов. Алгоритмы в кулинарии. Система команд исполнителя. Среда обитания исполнителя. Алгоритмы бывают трех типов:

«Команда алгоритма» - Алгоритм, в котором команды выполняются последовательно одна за другой, называется … Команда n. Серия 1. Команда 2. Каждая команда алгоритма должна определять однозначное действие исполнителя. 2.Понятность. 1.Точность. Циклический алгоритм. Линейный алгоритм. Алгоритм, в котором серия команд выполняется многократно называется…

«Алгоритм задачи» - Как ты думаешь, что выберет Иван-царевич? Типы алгоритмов. Команда повторения. Что необходимо для составления алгоритма? Какие существуют формы записи алгоритмов? Линейный алгоритм. Воткнуть морковку между угольками. Записать с помощью блок-схемы пословицу «Болен – лечись, а здоров – берегись». Сделать глаза из угольков на третьем шаре.

«Решение алгоритмов» - Алгоритмы внутренних точек с приближенным решением вспомогательной задачи. Параметры управления алгоритмом. Алгоритмы центрального пути (имеют полиномиальные оценки). Решение вспомогательной задачи. Методы решения вспомогательной задачи. Метод сопряженных направлений. Метод сопряженных направлений. 1939 – линейное программирование (Канторович).

«Алгоритм уроки» - Капитан кричит: Вперёд! В алгоритме встречаются повторяющиеся действия. Тема урока «АЛГОРИТМЫ». Алгоритмическим языком – то есть учебным языком. Например, распорядок дня. Вверх и вниз, вверх и вниз, Приседать не торопись! Начало/конец алгоритма. Соблюдаем правила дорожного движения при переходе через улицу.

Алгоритм

31 презентация об алгоритме
Урок

Информатика

130 тем
Картинки
900igr.net > Презентации по информатике > Алгоритм > Структуры и алгоритмы обработки данных Лекция