рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Динамические структуры данных. - раздел Информатика, Динамически размещаемые данные:память для них выделяется по операции new, существуют они пока эта память не будет освобождена Элементы В Них Однотипные, Но Количество Их Не Фикси...

Элементы в них однотипные, но количество их не фиксируется в структуре. Динамические структуры – это:

последовательность, стек, очередь, дек, список, деревья, графы (на 2 курсе)

У каждого из этих типов своя дисциплина работы с элементами, она определяет свой набор допустимых операцийнад элементами.

1) Последовательность –характерен последовательный доступ к элементам,последовательно расположенным, так, что добраться до какого–то элемента можно только просмотрев все предшествующие ему. Поступающие элементы встают в конец последовательности, а читаются из её начала Этот тип данных реализован в языках в типе “последовательный файл” , все операции соответствуют операциям чтения из файла, записи в файл. Последовательность может быть закрыта, либо открыта для чтения из неё элементов, либо открыта для записи в неё элементов..

Операции:пусть S – последовательность элементов типа T.

1.Открыть последовательность S для чтения.

2.Читать элемент x типа T из последовательности S, если есть непрочитанные.

3. Проверить, есть ли непрочитанные элементы в последовательности.

4. Открыть последовательность S для записи.

5. Добавить элемент x типа T в последовательность S.

6. Закрыть последовательность S.

2) Стек –структура данных, в которой могут накапливаться однотипные данные, при этом выполняется условие: элементы можно выбирать из стека в порядке, обратном порядку их поступления. Это условие называют принципом LIFO: Last –In- First - Out (последний пришел, первый уйдёшь).

дно стека вершина

Пусть S – стек элементов типа Т.

Операции для работы со стеком:

1. Сделать стек S пустым: clrst (S).

2. Добавить элемент x типа Т в стек S: push(S, x).

3. Удалить элемент из непустого стека S: pop(S).

4. Проверить стек S на пустоту:

true , если S пустой

emptyst(S)= .

5. Выбрать элемент x типа Т из вершины стека без удаления: x = topst(S).

Типа стекв языках нет. Такие совокупности можно моделировать, например на базе массива, тогда получается ограниченный стек.

3) Очередь –структура данных, в которой элементы накапливаются в соответствии с принципом FIFO:

First –In- First- Out (первый пришел, первый уйдешь)

 
 


Операции для очереди q с элементами типа Т:

1. Сделать очередь q пустой: clrqu(q).

2. Добавить элемент a типа Т в очередь q :insqu (q, a).

3. Удалить элемент из непустой очереди q: remqu (q).

4. Проверить очередь q на пустоту:

true , если q пустая

emptyqu (q)= .

5. Выбрать элемент a типа Т из непустой очереди без удаления: a= topqu(q).

4. Дек – очередь с двумя концами (double ended queue)

                           
 
             
 
 

 


Самим записать операции для дека

– Конец работы –

Эта тема принадлежит разделу:

Динамически размещаемые данные:память для них выделяется по операции new, существуют они пока эта память не будет освобождена

Замечание В языке С были рассмотрены данные простых и сложных типов Перед новой темой можно привести некоторую классификацию данных... по структуре... данные статической структуры которые получают структуру при описании и сохраняют е не нарушая до конца программы...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Реализация очереди на основе массива.
0 1 2 3 4 . . . . . . . . . . size . . . . . . . . . . . . . . . . NN-1

Bool overqu (queue q);
void wrfqu(ofstream &fout,queue q);   //queue3fR.cpp - файл реализации #include "queue3f.h"

Tip topqu (queue q)
{return q.x[q.beg];} //проверка очереди на пустоту bool emptyqu (queue q){return q.size==0;} //проверка очереди

Fin.close();
//1)сделать очереди пустыми for (int i=0; i<l; i++) clrqu(w[i]); int x=1, k=1; //2)записать x в файл

Лекция 6.
4. Линейный список –совокупность однотипных элементов, расположенных последовательно друг за другом, количество элементов в списке не фиксируется.

Связанный список.
Пусть x0 , x1 ,x2 ,. . . . .xn-3, xn-2, xn-1 – совокупность значений данных некоторого типа tip, к

Struct tel
{tip inf; //информационная часть tel *next; //указатель на следующий элемент }; 2. Описать указатель на связанный списо

Q= new tel;
(*q) . inf=x; (*q). next=beg; beg = q; 6. Включить элемент x : tip в связанный список

Delete q;
} 11.Пример функции, которая вставляет в связанный список beg элемент x : tip на свое место, и создаёт упорядоченный список за несколько обращений к функции с разными элем

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги