Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция 1 структуры данных.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
197.02 Кб
Скачать

1.1. Структурная организация данных

Обработка на персональных электронных вычислительных машинах (ПЭВМ) данных реального мира требует, чтобы их структура была определена и точно представлена в ПЭВМ. Структура данных определяет семантику данных, а также спосо­бы организации и управления данными.

Информация, представ­ленная в виде последовательности символов и предназначенная для обработки на ПЭВМ, называется данными.

При использова­нии компьютера для хранения и обработки данных необходимо хорошо знать тип и структуру данных, а также найти способ наиболее естественного их представления. Структуры данных и алгоритмы служат теми материалами, из которых строятся про­граммы.

1.1.1. Основные понятия структур данных

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

Структура данных – это схема организации информа­ции в памяти компьютера. Алгоритм же является соответствую­щим процедурным элементом в структуре программы — он слу­жит рецептом расчета. Первые алгоритмы были придуманы для решения численных задач типа, умножения чисел, нахождения наибольшего общего делителя, вычисления тригонометрических функций и др. Сегодня в равной степени важны и нечисленные алгоритмы; они разработаны для таких задач, как, например, поиск в тексте заданного слова, планирование событий, сорти­ровка данных в указанном порядке и т. п. Нечисленные алго­ритмы оперируют с данными, которые не обязательно являются числами.

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

Независимо от содержания и сложности любые данные в па­мяти ЭВМ представляются последовательностью двоичных раз­рядов, или битов, а их значениями являются соответствующие двоичные числа. Данные, рассматриваемые в виде последова­тельности битов, имеют очень простую организацию или, други­ми словами, слабо структурированы. Для человека описывать и исследовать сложные данные в терминах последовательностей битов весьма неудобно. Более крупные и содержательные, неже­ли бит, «строительные блоки» для организации произвольных данных получаются на основе понятия «структуры данных».

Под структурой данных в общем случае понимают множество элементов данных и множество связей между ними.

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

Различают простые (базовые, примитивные) структуры (типы) данных и интегрированные (структурированные, компо­зитные, сложные).

Простыми называются такие структуры дан­ных, которые не могут быть расчленены на составные части, большие, чем биты. В конкретной системе программирования всегда можно за­ранее сказать, каков будет размер выбранного простого типа и какова структура его размещения в памяти.

Интегрированными называются такие структуры данных, со­ставными частями которых являются другие структуры дан­ных — простые или в свою очередь интегрированные. Интегри­рованные структуры данных конструируются программистом с использованием средств интеграции данных, предоставляемых языками программирования.

В зависимости от отсутствия или наличия явно заданных связей между элементами данных следует различать несвязные структуры (векторы, массивы, строки, стеки, очереди) и связные структуры (связные списки).