Массивы - Структуры данных
Самым традиционным и широко известным из структурированных типов данных является массив (иначе называемый регулярным типом) - однородная упорядоченная статическая структура прямого доступа.
Массивом называют однородный набор величин одного и того же типа, называемых компонентами массива, объединенных одним общим именем (идентификатором) и идентифицируемых (адресуемых) вычисляемым индексом. Это определение подчеркивает, что все однотипные компоненты массива имеют одно и то же имя, но различаются по индексам, которые могут иметь характер целых чисел из некоторого диапазона, литер, перечисленных констант. Индексы позволяют адресовать компоненты массива, т. е. получить доступ в произвольный момент времени к любой из них как к одиночной переменной (рис. 1.32). Обычный прием работы с массивом - выборочное изменение отдельных его компонент.
Вычисляемые индексы позволяют использовать единое обозначение элементов массива для описания массовых однотипных операций в циклических конструкциях программ. Важной особенностью массива является его статичность. Массив должен быть описан в программе (т. е. определены тип и число компонент) и его характеристики не могут быть изменены в ходе выполнения программы.
Рис. 1.32. Одномерный массив - набор элементов (компонентов)
Компонентами массива могут быть не только простейшие данные, но и структурные, в том числе массивы. В этом случае мы получаем массив массивов - многомерный массив. Для индексации элементарных компонент в этом случае может потребоваться два, три и более индексов.
В некоторых системах программирования существуют специальные виды массивов. Например, массив литер (символов) определяется как строка.
Данные, хранящиеся в массивах, находятся в оперативной памяти компьютера. Это, с одной стороны, ускоряет доступ к ним в ходе решения задачи, а с другой - налагает ограничения на объем возможной информации, организованной в виде массивов. Не следует поэтому, без крайней необходимости, создавать новые массивы для перемещения данных из уже существующих массивов.
Рассмотрим в качестве примера задачу сортировки набора некоторых данных, для которых имеют смысл отношения "больше" или "меньше". Представьте себе, что надо карточки в картотеке разместить в порядке возрастания записанных на них чисел. Используем для сортировки набора чисел (т. е. записи их в порядке возрастания) одномерный (линейный) массив. Дадим ему имя А, тогда A1, a2, A3,..., АN - компоненты массива.
Существует огромное число методов сортировки массивов. Рассмотрим один из самых простых (но не самых быстрых) - метод выбора.
В начале процесса имеем заполненный числами массив (неотсортированный). Процесс сортировки строится по индукции. Допустим, мы уже отсортировали часть массива и имеем упорядоченную последовательность
A1 < A2 < ... < AI-l
И оставшуюся неотсортированной последовательность
AI, aI+1,... aN.
При каждом шаге, начиная с I = 1, из неотсортированной части последовательности извлекается наименьший элемент Х = AI, и меняется местами с I-м элементом. Затем этот процесс повторяется для I = 2, I = 3 и т. д., до тех пор, пока не останется один, самый большой элемент.
Этот алгоритм потребует многократного нахождения наименьшего элемента массива. Этот "вспомогательный" алгоритм поиска наименьшего среди АI,..., аN может быть следующим:
- 1) фиксируется в качестве значения вспомогательной переменной Т первый слева элемент массива: Т = аI (в конце процесса Т будет иметь значение наименьшего элемента); 2) выполняется сравнение Т с элементом массива AJ, (начиная с номера J = i + 1) и, если AJ < т, то Т заменяется на АJ; 3) далее выполняется сравнение Т с очередным элементом массива, т. е. J увеличивается на единицу и шаги 2, 3 выполняются снова, до тех пор, пока у не достигнет максимального значения индекса элемента массива.
После выполнения этих предписаний переменная Т будет соответствовать наименьшему элементу массива.
Двумерный массив визуально представляется плоской таблицей, табл. 1.10. При наличии одного имени (идентификатора) для всех компонентов каждый из них фиксируется значениями двух индексов, указывающих номер строки и номер столбца, на пересечении которых находится эта компонента.
Рассмотрим пример обработки данных, хранящихся в двумерном массиве. Допустим, что на некоторой территории (например, страны) "квадратно-гнездовым" способом расставлены температурные датчики, и их показания собраны в одном центре (что вполне близко к реальной деятельности метеослужбы). Тогда в таблицу - двумерный массив - попадут значения температуры TIj в соответствующих точках. Требуется, просматривая таблицу построчно, найти те точки (т. е. индексы узлов), между которыми температура принимает некоторое заданное значение Т.
Таблица 1.10 Графический образ двумерного массива
I J |
1 |
2 |
3 |
4 |
... |
1 |
A11 |
A12 |
A13 |
A14 |
... |
2 |
A21 |
A22 |
A23 |
A24 |
... |
3 |
A31 |
A32 |
A33 |
A34 |
... |
4 |
A41 |
A42 |
A43 |
A44 |
... |
... |
... |
... |
... |
... |
Пусть в таблице П строк и Т столбцов. Вспомогательным алгоритмом в данной задаче может быть алгоритм поиска нужных узлов в одной строке. Пусть эта строка имеет номер K. Алгоритмы записаны без комментариев для самостоятельного разбора.
Вспомогательный алгоритм (k):
- 1) положить J = 1; 2) если TK, j < t < TK. j+1, то см. п. 2; 3) увеличить J на 1, 4) если J < M, то вернуться к п. 2; 5) задача решена, ответ: (k, j), (k, j + 1); 6)конец.
Основной алгоритм:
- 1) положить K= 1; 2) выполнить вспомогательный алгоритм (K); 3) увеличить K на 1; 4) если K > n, то вернуться к п.2; 5)конец.
Похожие статьи
-
Записи, множества, файлы - Структуры данных
Обобщением массива является комбинированный тип данных - запись, являющаяся неоднородной упорядоченной статической структурой прямого доступа. Запись...
-
Структура SQL - Банки и базы данных. Системы управления базами данных
Широкое развитие информационных систем и связанная с этим унифицированность информационного пространства привело к необходимости создания стандартного...
-
Понятие о массивах В ранжированных переменных невозможно использование их отдельных значений. При необходимости иметь доступ к каждому значению...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
ДВОИЧНЫЙ ПОИСК, АВЛ-Дерево - Структуры и алгоритмы обработки данных
Алгоритм двоичного поиска в упорядоченном массиве сводится к следующему. Берем средний элемент отсортированного массива и сравниваем с ключом X. Возможны...
-
МЕТОДОВ МЕТОД СОРТИРОВКИ Пирамидальная сортировка Пирамидальная сортировка основана на алгоритме построения пирамиды. Последовательность aI, aI+1,...,aK...
-
ОСОБЕННОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ - Структуры и алгоритмы обработки данных
В ходе выполнения курсовой работы, помимо основных алгоритмов, потребовалось реализовать также несколько вспомогательных, необходимых для корректной...
-
Построение ER диаграмм - Модернизация структуры базы данных на основе анализа требований предприятия
При построении моделей информационных систем важнейшей методикой является ER-моделирование или построение диаграмм сущность-связь. Сущность представляет...
-
В этом разделе описаны запросы, выполняемых всеми компонентами, а также типы данных, используемые при описании запросов. Стандарт типов данных При...
-
Основные термины теории баз данных - БД (База данных) - совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы...
-
Понятие "массив" носит фундаментальный характер. Самым удобным способом хранения большого количества однотипных данных является массив. Обработка...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Введение - Модернизация структуры базы данных на основе анализа требований предприятия
В данной дипломной работе рассматривается проблема реинжиниринга баз данных в рамках разработки информационной системы (далее: ИС) для информационного...
-
ОПИСАНИЕ ПРОГРАММЫ, ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ - Структуры и алгоритмы обработки данных
ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ Struct BD { char FIO[32]; // фоpмат <Фамилия>_<Имя>_<Отчество> int numberO; char dolzhnost[32]; char dateB[8]; }...
-
ВЕЩЕСТВЕННЫЕ ТИПЫ, СТРУКТУРИРОВАННЫЕ ТИПЫ, МАССИВЫ - Типы данных в программе Турбо Паскаль
В отличие от порядковых типов, значения которых всегда сопоставляются с рядом целых чисел и, следовательно, представляется в ПК абсолютно точно, значения...
-
Физические модели хранения данных определяют методы размещения данных в памяти компьютера или на соответствующих носителях информации, а также способы...
-
Обновленная база данных должна иметь продвинутую структуру пользователей для использования на информационном портале под управлением новой CMS. Для...
-
Постановка задачи Имеющаяся база данных SQL имеет недостаточное количество полей и таблиц, не имеет упорядоченной структуры пользователей для работы с...
-
Анализ предметной области позволяет выявить пять сущностей: Сущность: Растения для сада (наименование растения; вид; высота; время цветения; отношение к...
-
Ввод элементов векторов и матриц - Массивы, векторы и матрицы
Векторы и матрицы можно задавать путем ввода их элементов - индексированных переменных. Для указания подстрочных индексов после имени переменной вводится...
-
Описание исходных данных На текущий момент (в силу большой загрузки IT-отдела) не реализован доступ к серверу с ХД, маркетинговые данные выгружаются в...
-
Запросы на выборку - Банки и базы данных. Системы управления базами данных
Запросы используются для получения пользователем информации, содержащейся в БД, в удобном для него виде. Результат запроса отображается для пользователя...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Пусть в сборку входит n монтажников, Тогда - множество монтажников, участвующих в одном этапе - рабочие, участвующие в выполнении одной операций -...
-
Создание списковых структур данных
Цель работы: Написать программу формирования и печати двусвязного списка Ваших друзей с указанием их телефонов и адресов. Признаком окончания списка...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
Основным компонентом АРМ является база данных (БД). Использование БД является эффективным средством разработки и поддержки информационного обеспечения...
-
Структура записей данных в таких файлах имеет вид, представленный на рис. 4. Рис. 4 Структура записей данных в файлах с неплотным индексном При такой...
-
UML - унифицированный язык моделирования, призванный упростить построение больших информационных систем. Состоит из диаграмм, связей и сущностей....
-
Этапы жизненного цикла БД включают: -Планирование БД - определяются принципы, задачи создания БД. -Проектирование БД. -Материализация БД -...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
Разработка модели "сущность-связь" базы данных - Разработка АИС "Профессиональный футбольный клуб"
Для разработки модели "Сущность - связь" требуется соблюдение следующих этапов проектирования: Выделить сущности и связи между ними. Построить диаграммы...
-
Классификация баз данных - Виды и возможности СУБД
Многообразие характеристик и видов баз данных порождает многообразие классификации. Рассмотрим основные виды классификации. По технологии обработки...
-
Примеры визуального представления данных - Визуализация количественных данных
Визуализация программный обеспечение данные В научно-технической документации применяются различные виды визуализации (ниже приведены примеры...
-
Теоретические предпосылки исследования Системы поддержки принятия решений Системы поддержки принятия решений (СППР), представляют собой приложения узкого...
-
Сетевая модель данных, Реляционная модель данных - Система управления базами данных
Отличие сетевой структуры от иерархической заключается в том, что каждый элемент в сетевой структуре может быть связан с любым другим элементом (рис. 8)....
-
Файлы с плотным индексом или индексно-прямые файлы - Проблема организации и хранения данных
В этих файлах основная область содержит последовательность записей одинаковой длины, расположенных в произвольном порядке, а структура индексной записи в...
-
Классификация массивов - История создания и развития автоматизированных информационных систем
Организационная подборка сведений о каком-либо объекте или процессе либо о ряде однородных объектов или процессов называется массивом информации. 1. По...
-
Типы данных и команды SQL - Разработка информационной системы "Магазин компьютерных товаров"
Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для...
-
ТЕОРЕТИЧЕСКОЕ ОБОСНОВАНИЕ ЗАДАЧИ, Строковый тип данных в языке Pascal - Строковый тип данных
Строковый тип данных в языке Pascal Познакомимся с типом данных, который относится к числу структурированных. Это строковый тип данных (строка). Строка -...
Массивы - Структуры данных