Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Search.DOC
Скачиваний:
2
Добавлен:
25.11.2018
Размер:
2.44 Mб
Скачать

Постановка задачи и описание исходных данных

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

Математическое обеспечение

Суть метода :

Cоздаётся фиктивная запись в конце файла (A [ N+1] ) равная искомому элементу. Последовательно перебираются все элементы массива, если на каком-то шаге цикла обнаруживается, что искомый элемент найден, то происходит выход из цикла, и переход к условию i < N+1. Если условие выполняется , то искомый элемент присутствует в массиве, иначе элемента нет.

Алгоритм Quick Sequential Search реализуется следующим образом:

Q1. [Инициализация] Устанавливаем i ← 1 и KN+1 ← K.

Q2. [Сравнение] Если K=Ki , то переходим к шагу Q4.

Q3. [Продвижение.] Увеличить i на 1и перейти к шагу Q2.

Q4. [Конец файла?] Если i ≤ N, алгоритм заканчивается успешно; в противном случае алгоритм заканчивается неудачно (i = N+1).

Функция изменения времени вычисления от объема исходных данных

Очевидно, что время выполнения алгоритма Q зависит от двух факторов:

C- количество сравнений ключей;

S=1 при успешном окончании поиска, 0 – при неудачном.

Используя значения C и S , получим, что значение времени работы равно

(4С - 4S + 10)u. Так как при поиске будет всегда успешно найден K=Ki получим С=i , S=1; таким образом, полное время составляет (4i+6)u

О-сложность алгоритма

Так как при поиске используется всего лишь один простой цикл

for (int n=0; pInt[n] != m_search; n++), то О-сложность данного алгоритма линейная О(n)

Разработка алгоритма программы в виде блок-схемы

Рисунок 1 – Блок схема создания массива чисел и запись их в файл

Рисунок 2 – Блок схема считывания из файла данных

Рисунок 3 – Блок схема поиска элемента в массиве

Описание функций среды программирования Microsoft Visual Studio 6

Данная курсовая работа выполнена в среде программирования Microsoft Visual Studio 6, в состав которой включен компилятор и интерпритатор С++

C++ - это попытка решения разработчиками языка С задач объектно-ориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, С++ помимо ООР поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. С++ уже стал универсальным языком для программистов всего мира.

С++ был разработан сотрудником научно-исследовательского центра AT&T Bell Laboratories (Нью-Джерси, США) Бьярном Страуструпом в 1979 году. Первоначальное название «С с классами» было изменено на С++ в 1983 году. Начиная с 1980 года С++ претерпел две существенные модернизации: в 1985 и 1990 годах. Последняя третья модель связана с процессом стандартизации С++. Несколько лет назад началась работа по созданию единого международного стандарта по С++. Для этой цели был сформирован объединенный комитет по стандартизации ANSI (American National Standards Institute, Американский национальный институт стандартов) и ISO (International Standards Organization, Международная организация по стандартам) для языка С++. Первый рабочий проект указанного стандарта был предложен 25 января1994 года. Комитет ANSI/ISO по С++ фактически сохранил все основные черты языка, заложенные туда еще Страуструпом и добавил несколько новых инструментов.

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

Visual Studio 6.0 —версия, работающая на платформе Win9x (выпущена в июне 1998). По-прежнему популярна среди программистов, использующих Visual Basic. Данная версия являлась основной средой разработки приложений под Windows от Microsoft до появления платформы .NET.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]