Скачиваний:
111
Добавлен:
10.12.2013
Размер:
343.04 Кб
Скачать

2.4. Основные структуры данных

Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, т. е. образуют заданную структуру. Существует три основных типа структур данных:

  • линейная,

  • иерархическая,

  • табличная.

Основными операциями, которые можно осуществлять над структурами данных являются:

  • формирование структуры данных;

  • добавление элемента (в начало, конец, с заданным номером, после заданного элемента );

  • удаление элемента (из начала, из конца, с заданным номером, с заданным значением - ключом);

  • просмотр структуры;

  • поиск элемента с заданным значением – ключом;

  • сортировка (упорядочивание элементов структуры в заданном порядке).

Пример:

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

Если собрать листы книги в правильном порядке, то мы получим простейшую структуру данных - линейную. Такую книгу уже можно читать, но найти нужную информацию будет еще сложно.

Для быстрого поиска данных книгу разбивают на главы, разделы, параграфы (т. е. получается иерархическая структура). Элементы структуры более низкого уровня входят в элементы структуры более высокого уровня. Поиск в иерархической структуре осуществляется проще, чем в линейной.

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

2.4.1. Линейные структуры

Линейные структуры – это списки данных. В списке каждый элемент однозначно определяется своим номером. Номера должны быть уникальными. При создании любой структуры надо решить два вопроса: как разделять данные между собой и как разыскивать нужные элементы.

Пример. Список студентов группы.

    1. Александров А. А.

    2. Борисов Б. Б.

    3. Васильева В. В.

    4. Гаврилов Г. Г.

    5. Дмитриева Д. Д.

    6. . . . . . . .

Каждый элемент списка заносится с новой строки, т. е. разделителем является конец строки. Элементы ищутся по номеру строки.

Разделителем может быть какой-нибудь специальный символ:

Александров А. А.*Борисов Б. Б.*Васильева В. В.*Гаврилов Г. Г.*Дмитриева Д. Д.

В этом случае для поиска нужного элемента надо просмотреть список, начиная с начала и пересчитать разделители. Когда будет отсчитано (n-1) разделителя, начнется нужный элемент. Он закончится, когда встретится следующий разделитель.

Еще проще осуществляются операции в списке, в котором элементы имеют одинаковую длину. В этом случае разделители вообще не нужны. Для поиска надо отсчитать a*(n-1) символ, где а – длина одного элемента. Списки, которые состоят из элементов равной длины, называются векторами данных.

2.4.2.Табличные структуры

В табличных структурах данные определяются адресом ячейки. Этот адрес состоит из нескольких параметров (например, номер строки и номер столбца ячейки). При хранении данных в таблицах количество разделителей будет больше, чем при хранении данных в списках. Например, в книгах в таблицах используют горизонтальные и вертикальные разделители. Если таблицу надо сохранить в символьной строке, то используют один символ-разделитель между элементами, принадлежащими к одной строке и другой разделитель для отделения строк. Например, представлением таблицы вида:

1.

Александров А. А.

5

2.

Борисов Б. Б.

2

3.

Васильева В. В.

1

4.

Гаврилов Г. Г.

5

5.

Дмитриева Д. Д.

3


будет структура:

1*Александров А. А.*5#2*Борисов Б. Б.*2#3*Васильева В. В.*1#4*Гаврилов Г. Г.*10#5*Дмитриева Д. Д.*3.

Если все элементы таблицы имеют равную длину, то такие таблицы называются матрицами. Таблицы могут иметь количество измерений больше 2, т. е. быть многомерными.

Соседние файлы в папке Иформатика