- •Обработка одномерных массивов
- •1. Цель работы
- •2. Теоретический материал Сортировка пузырьком
- •Сортировка выбором
- •Сортировка вставками
- •Сортировка подсчетом
- •Сортировка слиянием
- •Линейный поиск в массиве
- •Двоичный поиск в массиве
- •Инициализация массива случайными числами
- •Измерение времени работы программы
- •3. Указание к работе
- •4. Варианты индивидуальных заданий
- •5. Оформление отчета
- •6. Требования к работе
Измерение времени работы программы
В задании на лабораторную работу требуется измерить время работы программы. Для этого удобно воспользоваться стандартным классом Environment, который содержит свойство TickCount, в котором содержится время (в миллисекундах), прошедшее с момента загрузки операционной системы. Чтобы определить время работы какого-либо фрагмента кода, необходимо выполнить два замера времени (до и после этого фрагмента), а потом вычислить разность полученных значений. Для перевода результата в секунды можно разделить его на 1000.
Вот как может выглядеть текст функции Main(), в котором производится замер времени работы фрагмента кода:
static void Main(string[] args)
{
// Здесь выполняется инициализация данных (ввод массивов и проч.)
int t1 = Environment.TickCount;
// Здесь выполняется основная работа программы (например,
// сортировка массива и поиск данных.
int t2 = Environment.TickCount;
// Печать затраченного времени на экране
Console.WriteLine("Продолжительность работы: " + (t2 - t1) / 1000.0);
// Печать полученного массива
}
3. Указание к работе
Разработать и отладить программу, в которой реализовать алгоритмы сортировки и поиска в соответствии с заданием. Определить время работы программы.
Для выполнения задания необходимо использовать два одномерных массива целых чисел А[M] и В[N] (М и N – произвольные целые числа, не превышающие 214). Инициализируйте исходные массивы данными, после чего отсортируйте массивы с использованием алгоритма, указанного в вашем задании. Создайте одномерный массив С, который содержит элементы, отвечающие условию задания, в одном экземпляре (без повторений). Сравните время работы программы при следующих размерах исходных массивов: 100, 1000, 5000, 10000, 15000 элементов.
Указание: Вспомогательные массивы использовать запрещается, если в алгоритме сортировки не оговорено обратное.
4. Варианты индивидуальных заданий
|
Задание |
Сложность |
Алгоритм сортировки |
Алгоритм поиска |
|
элементы, присутствующие в обоих массивах А и В |
1 |
Пузырьком |
Линейный |
|
элементы, которые есть только в массиве А или только в массиве В |
1 |
Пузырьком |
Линейный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
1 |
Пузырьком |
Линейный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
1 |
Пузырьком |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
1 |
Пузырьком |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
1 |
Пузырьком |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
1 |
Пузырьком |
Линейный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
1 |
Пузырьком |
Линейный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
1 |
Пузырьком |
Линейный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
1 |
Пузырьком |
Линейный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
1 |
Пузырьком |
Линейный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
1 |
Пузырьком |
Линейный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
1 |
Пузырьком |
Линейный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
1 |
Пузырьком |
Линейный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
1 |
Пузырьком |
Линейный |
|
элементы, присутствующие в обоих массивах А и В |
2 |
Выбором |
Линейный |
|
элементы, которые есть только в массиве А или только в массиве В |
2 |
Выбором |
Линейный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
2 |
Выбором |
Линейный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
2 |
Выбором |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
2 |
Выбором |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
2 |
Выбором |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
2 |
Выбором |
Линейный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
2 |
Выбором |
Линейный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
2 |
Выбором |
Линейный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
2 |
Выбором |
Линейный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
2 |
Выбором |
Линейный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
2 |
Выбором |
Линейный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
2 |
Выбором |
Линейный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
2 |
Выбором |
Линейный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
2 |
Выбором |
Линейный |
|
элементы, присутствующие в обоих массивах А и В |
3 |
Вставками |
Линейный |
|
элементы, которые есть только в массиве А или только в массиве В |
3 |
Вставками |
Линейный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
3 |
Вставками |
Линейный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
3 |
Вставками |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
3 |
Вставками |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
3 |
Вставками |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
3 |
Вставками |
Линейный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
3 |
Вставками |
Линейный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
3 |
Вставками |
Линейный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
3 |
Вставками |
Линейный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
3 |
Вставками |
Линейный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
3 |
Вставками |
Линейный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
3 |
Вставками |
Линейный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
3 |
Вставками |
Линейный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
3 |
Вставками |
Линейный |
|
элементы, присутствующие в обоих массивах А и В |
4 |
Подсчетом |
Линейный |
|
элементы, которые есть только в массиве А или только в массиве В |
4 |
Подсчетом |
Линейный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
4 |
Подсчетом |
Линейный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
4 |
Подсчетом |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
4 |
Подсчетом |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
4 |
Подсчетом |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
4 |
Подсчетом |
Линейный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
4 |
Подсчетом |
Линейный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
4 |
Подсчетом |
Линейный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
4 |
Подсчетом |
Линейный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
4 |
Подсчетом |
Линейный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
4 |
Подсчетом |
Линейный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
4 |
Подсчетом |
Линейный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
4 |
Подсчетом |
Линейный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
4 |
Подсчетом |
Линейный |
|
элементы, присутствующие в обоих массивах А и В |
5 |
Пузырьком |
Двоичный |
|
элементы, которые есть только в массиве А или только в массиве В |
5 |
Пузырьком |
Двоичный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
5 |
Пузырьком |
Двоичный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
5 |
Пузырьком |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
5 |
Пузырьком |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
5 |
Пузырьком |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
5 |
Пузырьком |
Двоичный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
5 |
Пузырьком |
Двоичный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
5 |
Пузырьком |
Двоичный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
5 |
Пузырьком |
Двоичный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
5 |
Пузырьком |
Двоичный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
5 |
Пузырьком |
Двоичный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
5 |
Пузырьком |
Двоичный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
5 |
Пузырьком |
Двоичный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
5 |
Пузырьком |
Двоичный |
|
элементы, присутствующие в обоих массивах А и В |
6 |
Выбором |
Двоичный |
|
элементы, которые есть только в массиве А или только в массиве В |
6 |
Выбором |
Двоичный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
6 |
Выбором |
Двоичный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
6 |
Выбором |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
6 |
Выбором |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
6 |
Выбором |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
6 |
Выбором |
Двоичный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
6 |
Выбором |
Двоичный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
6 |
Выбором |
Двоичный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
6 |
Выбором |
Двоичный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
6 |
Выбором |
Двоичный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
6 |
Выбором |
Двоичный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
6 |
Выбором |
Двоичный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
6 |
Выбором |
Двоичный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
6 |
Выбором |
Двоичный |
|
элементы, присутствующие в обоих массивах А и В |
7 |
Вставками |
Двоичный |
|
элементы, которые есть только в массиве А или только в массиве В |
7 |
Вставками |
Двоичный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
7 |
Вставками |
Двоичный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
7 |
Вставками |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
7 |
Вставками |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
7 |
Вставками |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
7 |
Вставками |
Двоичный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
7 |
Вставками |
Двоичный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
7 |
Вставками |
Двоичный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
7 |
Вставками |
Двоичный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
7 |
Вставками |
Двоичный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
7 |
Вставками |
Двоичный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
7 |
Вставками |
Двоичный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
7 |
Вставками |
Двоичный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
7 |
Вставками |
Двоичный |
|
элементы, присутствующие в обоих массивах А и В |
8 |
Подсчетом |
Двоичный |
|
элементы, которые есть только в массиве А или только в массиве В |
8 |
Подсчетом |
Двоичный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
8 |
Подсчетом |
Двоичный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
8 |
Подсчетом |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
8 |
Подсчетом |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
8 |
Подсчетом |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
8 |
Подсчетом |
Двоичный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
8 |
Подсчетом |
Двоичный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
8 |
Подсчетом |
Двоичный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
8 |
Подсчетом |
Двоичный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
8 |
Подсчетом |
Двоичный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
8 |
Подсчетом |
Двоичный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
8 |
Подсчетом |
Двоичный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
8 |
Подсчетом |
Двоичный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
8 |
Подсчетом |
Двоичный |
|
элементы, присутствующие в обоих массивах А и В |
9 |
Слиянием |
Линейный |
|
элементы, которые есть только в массиве А или только в массиве В |
9 |
Слиянием |
Линейный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
9 |
Слиянием |
Линейный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
9 |
Слиянием |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
9 |
Слиянием |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
9 |
Слиянием |
Линейный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
9 |
Слиянием |
Линейный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
9 |
Слиянием |
Линейный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
9 |
Слиянием |
Линейный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
9 |
Слиянием |
Линейный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
9 |
Слиянием |
Линейный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
9 |
Слиянием |
Линейный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
9 |
Слиянием |
Линейный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
9 |
Слиянием |
Линейный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
9 |
Слиянием |
Линейный |
|
элементы, присутствующие в обоих массивах А и В |
10 |
Слиянием |
Двоичный |
|
элементы, которые есть только в массиве А или только в массиве В |
10 |
Слиянием |
Двоичный |
|
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В |
10 |
Слиянием |
Двоичный |
|
элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах |
10 |
Слиянием |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах в массиве А, но отсутствуют в массиве В |
10 |
Слиянием |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в массиве В |
10 |
Слиянием |
Двоичный |
|
элементы, которые присутствуют в нескольких экземплярах либо в массиве А, либо в массиве В (либо в обоих массивах) |
10 |
Слиянием |
Двоичный |
|
элементы массива А, повторяющиеся в массиве В несколько раз |
10 |
Слиянием |
Двоичный |
|
элементы присутствующие в обоих массивах А и В в одном экземпляре |
10 |
Слиянием |
Двоичный |
|
элементы, присутствующие в одном экземпляре либо только в массиве А, либо только в массиве В |
10 |
Слиянием |
Двоичный |
|
повторяющиеся элементы массива А, которые есть в массиве В |
10 |
Слиянием |
Двоичный |
|
повторяющиеся элементы массива В, которые есть в массиве А только в одном экземпляре |
10 |
Слиянием |
Двоичный |
|
неповторяющиеся элементы массива А, которые присутствуют в массиве В в нескольких экземплярах |
10 |
Слиянием |
Двоичный |
|
элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах |
10 |
Слиянием |
Двоичный |
|
повторяющиеся элементы массива А, которых нет в массиве В |
10 |
Слиянием |
Двоичный |