Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Алгоритмы обработки одномерных массивов

Определение 1

Алгоритмы обработки одномерных массивов — это алгоритмы работы с множеством элементов одного типа, которые имеют одно общее имя и расположены в определённой зоне памяти компьютера.

Введение

Главным достоинством современных электронных вычислительных машин являются высокое быстродействие и значительный объём памяти. Чтобы записать алгоритмы, которые используют существенные информационные объёмы, в алгоритмических языках есть специальные таблицы. Функционирование большинства алгоритмов было бы чрезвычайно затруднено, когда бы используемые в алгоритмах объекты не подверглись бы специальной реорганизации. Следует заметить, что табличная организация данных (в формате массивов) является главным средством отображения однотипных информационных данных, и она применяется практически повсеместно в программных приложениях. Табличный принцип заложен также и в архитектурные построения сегодняшних компьютеров, их память является, по сути, огромным массивом байт, с адресами, расположенными в порядке возрастания. То есть, без знания основ построения табличных массивов и главных алгоритмов работы, с ними нельзя понять принципы работы и возможности электронных вычислительных машин.

Алгоритм расчёта суммы

Рассмотрим пример построения алгоритма, для определения суммы некоторого массива данных. Имеется массив А, который состоит из n компонентов

$a_1, a_2, a_3, …, a_n$.

Требуется рассчитать сумму этих компонентов, то есть $S = a_1+a_2+a_3+…+a_n$. Расчёт суммы можно представить, как поочерёдное определение ряда сумм по следующим выражениям:

$S = 0 S = S + a_2 …$

$S = S + a_i S = S + a_n$

$S = S + a_1 S = S + a_3 …$

Для построения алгоритма определения суммы, возможно использовать программные циклы, приняв за один из параметров цикла значение переменной $i$, изменяющееся от единицы до n при шаге, равном единице. Формулу, используемую в циклических расчётах, можно записать всего раз $S = S + а$. Структура алгоритма изображена на рисунке ниже:

Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Структура алгоритма. Автор24 — интернет-биржа студенческих работ

«Алгоритмы обработки одномерных массивов» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

В данном алгоритме в четвёртом блоке переменная $S$ получает значение нуль, в пятом блоке переменная счётчика i получает исходное значение. В шестом блоке рассчитывается собственно текущая сумма, а в седьмом блоке к переменной $I$ прибавляется единица. В восьмом блоке выполняется проверка условия повторного выполнения цикла. Если условие выполнено, то управление переходит к началу цикла. В случае, если условие не исполняется, происходит окончание циклических расчётов. То есть при $i = n + 1$ выполнять суммирование больше не надо. В алгоритме предполагается, что $n$ является числом, но $n$ возможно представить и как переменную, равную количеству компонентов массива $A$, которое необходимо ввести до описания массива.

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

Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Рисунок 2. Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Если же требуется, помимо всего прочего, определить число положительных компонентов массива, то надо добавить переменную к для подсчёта числа положительных компонентов. Предварительно к нужно присвоить значение нуль. Схема алгоритма для этого случая приведена ниже:

Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Рисунок 3. Структура алгоритма. Автор24 — интернет-биржа студенческих работ

За седьмым блоком по ветке «плюс» расположен блок, который увеличивает на единицу значение $k$, то есть $k = k + 1$ является определением числа положительных компонентов массива $A$. Логичным будет следующее действие, а именно все найденные положительные компоненты массива $A$ выделить в отдельный массив, который можно обозначить как $B$. Для этого требуется не много, надо по пути «плюс» после седьмого блока присвоить соответствующему компоненту массива $B$ компонент массива $A$, то есть сделать блок, где $b_k = a_i$. Естественно, нужно во втором блоке дать определение массива $B$, как равного по числу компонентов массиву $A$.

Алгоритм определения максимального компонента массива

Чтобы определить наибольшее значение, нужно ввести переменную $M$ и ей присвоить величину, равную первому компоненту массива $a_1$, а далее нужно выполнить сравнение $M$ со значением текущего компонента массива $a_1$ и если текущий компонент превышает значение $M$, то нужно присвоить $M$ значение этого компонента. Очевидно, что переменная $M$ не должна иметь исходное значение, равное нулю, поскольку если массив имеет отрицательные числа, то максимум не будет определён. Схема алгоритма приведена ниже:

Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Рисунок 4. Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Алгоритм упорядочения массива методом «Пузырька»

Операция упорядочивания определённых информационных данных при помощи ключа определяется как процесс сортировки. Понятно, что когда данные отсортированы, то с ними гораздо удобнее и более быстро можно работать по сравнению с данными, не прошедшими процедуру сортировки. Компьютеры можно эффективно использовать для работы со значительными информационными объёмами, в случае, если эти информационные данные одного типа и прошли сортировку. Есть достаточное количество разнообразных сортировочных методик, которые отличаются уровнем эффективности. Под эффективностью следует понимать число операций сравнения и число обменных операций, выполненных при сортировке, а также время, затраченное на эту процедуру, и объём используемой при этом оперативной памяти компьютера. Приведём пример сортировки методом «Пузырька», легко описываемой в формате ясных и понятных алгоритмов и приводящей к несложной реализации в виде программы. Необходимо выполнить упорядочение одномерного массива $A$, состоящего из n компонентов, в порядке возрастания их значений. Суть пузырьковой сортировки заключается в попарном сравнении компонентов массива между собой и элементы с меньшим «весом», как более «лёгкие», условно говоря, всплывают наверх. При выполнении алгоритма появляется проблема определения числа шагов сортировки. Для устранения этой проблемы используется способ «расстановки флажков», который позволяет зафиксировать точку окончания сортировки и завершения цикла. Схема алгоритма приведена ниже:

Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Рисунок 5. Структура алгоритма. Автор24 — интернет-биржа студенческих работ

Дата написания статьи: 24.02.2020
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot