ТЕСТЫ К ЛАБОРАТОРНЫМ РАБОТАМ
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Лабораторная работа 1. Полустатические структуры данных (стеки).

 

1. В чём особенности очереди ?

- открыта с обеих сторон ;

- открыта с одной стороны на вставку и удаление;

- доступен любой элемент.

2. В чём сосбенности стека ?

- открыт с обеих сторон на вставку и удаление;

- доступен любой элемент;

- открыт с одной стороны на вставку и удаление .

3. Какую дисциплину обслуживания принято называть FIFO?

- стек;

- очередь ;

- дек.

4. Какая операция читает верхний элемент стека без удаления?

- pop;

- push;

- stackpop .

5. Какого правило выборки элемента из стека ?

- первый элемент;

- последний элемент ;

- любой элемент.

 

 

Лабораторная работа 2.Списковые структуры данных (односвязные очереди).

 

1. Как освободить память от удаленного из списка элемента ?

- p=getnode;

- ptr(p)=nil;

- freenode(p) ;

- p=lst.

2. Как создать новый элемент списка с информационным полем D ?

- p=getnode;

- p=getnode; info(p)=D ;

- p=getnode; ptr(D)=lst.

3. Как создать пустой элемент с указателем p ?

- p=getnode ;

- info(p);

- freenode(p);

- ptr(p)=lst.

4. Сколько указателей используется в односвязных списках ?

- 1 ;

- 2;

- сколько угодно.

5. В чём отличительная особенность динамических объектов?

- порождаются непосредственно перед выполнением программы;

- возникают уже в процессе выполнения программы ;

- задаются в процессе выполнения программы.

 

Лабораторная работа 3.Списковые структуры данных.

1. При удалении элемента из кольцевого списка…

- список разрывается;

- в списке образуется дыра;

- список становится короче на один элемент .

2. Для чего используется указатель в кольцевых списках ?

- для ссылки на следующий элемент;

- для запоминания номера сегмента расположения элемента;

- для ссылки на предыдущий элемент ;

- для расположения элемента в списке памяти.

3. Чем отличается кольцевой список от линейного ?

- в кольцевом списке последний элемент является одновременно и первым;

- в кольцевом списке указатель последнего элемента пустой;

- в кольцевых списках последнего элемента нет ;

- в кольцевом списке указатель последнего элемента не пустой.

4. Сколько указателей используется в односвязном кольцевом списке ?

- 1;

- 2;

- сколько угодно.

5. В каких направлениях можно перемещаться в кольцевом двунаправленном списке ?

- в обоих ;

- влево;

- вправо.

 

Лабораторная работа 4. Модель массового обслуживания.

1. Чем отличается заявка первого приоритета от заявки второго приоритета ?

- тем, что заявка второго приоритета обслуживается с вероятностью P=1, а заявка первого приоритета обслуживается с вероятностью P(B);

- тем, что заявка второго приоритета становится в начало очереди, а первого приоритета становится в конец очереди ;

- ничем, если есть очередь.

2. Может ли заявка первого приоритета вытеснить из очереди заявку второго приоритета ?

- да, если P(B)=1;

- да;

- нет .

3. Может ли на обслуживании находится заявка первого приоритета, если в очереди находится заявка второго приоритета ?

- да, если P(B)=1;

- да ;

- нет.

4. С помощью какой структуры данных наиболее рационально реализовать очередь ?

- стек;

- список ;

- дек.

5. Когда заявка покидает систему. Найдите ошибку.

- если заявка обслужилась подложенное ей число тактов;

- если заявка находится в очереди больше Т тактов;

- если заявок второго приоритета стало больше, чем заявок первого приоритета .

 

Лабораторная работа 5. Бинарные деревья (основные процедуры).

1. Для включения новой вершины в дерево нужно найти узел, к которому её можно присоединить. Узел будет найден, если очередной ссылкой, определяющей ветвь дерева, в которой надо продолжать поиск, окажется ссылка:

- p=right(p);

- p=nil ;

- p=left(p).

2. Для написания процедуры над двумя деревьями необходимо описать элемент типа запись, который содержит поля:

- Element=Запись

Left,Right : Указатели

Rec : Запись;

 

- Element=Запись

Left : Указатель

Key : Ключ

Rec : Запись;

 

- Element=Запись

Left, Right : Указатели

Кеу : Ключ

Rec : Запись.

 

3. В памяти ЭВМ бинарное дерево удобно представлять в виде:

- связанных линейных списков;

- массивов;

- связанных нелинейных списков .

4. Элемент t, на котрый нет ссылок:

- корнем ;

- промежуточным;

- терминальным (лист).

5. Дерево называется полным бинарным, если степень исходов вершин равна:

- 2 или 0 ;

- 2;

- М или 0;

- M.

 

Лабораторная работа 6. Сортировка методом прямого включения.

1. Даны три условия окончания просеивания при сортировке прямым включением. Найдите среди них лишнее.

- найден элемент a(i) с ключом, меньшим чем ключ у x;

- найден элемент a(i) с ключом, большим чем ключ у x ;

- достигнут левый конец готовой последовательности.

2. Какой из критериев эффективности сортировки определяется формулой M=0,01*n*n+10*n ?

- число сравнений ;

- время, затраченное на написание программы;

- количество перемещений;

- время, затраченное на сортировку.

3. Как называется сортировка, происходящая в оперативной памяти ?

- сортировка таблицы адресов;

- полная сортировка;

- сортировка прямым включением;

- внутренняя сортировка ;

- внешняя сортировка.

4. Как можно сократить затраты машинного времени при сортировке большого объёма данных ?

- производить сортировку в таблице адресов ключей ;

- производить сортировку на более мощном компьютере;

- разбить данные на более мелкие порции и сортировать их.

5. Существуют следующие методы сортировки. Найдите ошибку.

- строгие;

- улудшенные;

- динамические .

 

Лабораторная работа 7. Сортировка методом прямого выбора.

 

1. Метод сортировки называется устойчивым, если в процессе сортировки…

- относительное расположенние элементов безразлично;

- относительное расположение элементов с равными ключами не меняется ;

- относительное расположение элементов с равными ключами изменяется;

- относительное расположение элементов не определено.

2. Улучшенные методы имеют значительное преимущество:

- при большом количестве сортируемых элементов ;

- когда массив обратно упорядочен;

- при малых количествах сортируемых элементов;

- во всех случаях.

3. Что из перечисленных ниже понятий является одним из типов сортировки ?

- внутренняя сортировка ;

- сортировка по убыванию;

- сортировка данных;

- сортировка по возрастанию.

4. Сколько сравнений требует улучшенный алгоритм сортировки ?

- n*log(n) ;

- en;

- n*n/4.

5. К какому методу относится сортировка, требующая n*n сравнений ключей ?

- прямому ;

- бинарному;

- простейшему;

- обратному.

 

Лабораторная работа 8. Сортировка с помощью прямого обмена.

 

1. Сколько сравнений и пeрестановок элементов требуется в пузырьковой сортировке ?

- n*lon(n);

- (n*n)/4 ;

- (n*n-n)/2.

2. Сколько дополнительных переменных нужно в пузырьковой сортировке помимо массива, содержащего элементы ?

- 0 (не нужно);

- всего 1 элемент ;

- n переменных (ровно столько, сколько элементов в массиве).

3. Как рассортировать массив быстрее, пользуясь пузырьковым методом ?

- одинаково ;

- по возрачстанию элементов;

- по убыванию элементов.

4. В чём заключается идея метода QuickSort ?

- выбор 1,2,…n – го элемента для сравнения с остальными;

- разделение ключей по отношению к выбранному ;

- обмен местами между соседними элементами.

5. Массив сортируется “пузырьковым” методом. За сколько проходов по массиву самый “лёгкий” элемент в массиве окажется вверху ?

- за 1 проход ;

- за n-1 проходов;

- за n проходов, где n – число элементов массива.

 

Лабораторная работа 9. Сортировка с помощью дерева.

 

1. При обходе дерева

 

слева направо получаем последовательность…

- отсортированную по убыванию;

- неотсортированную ;

- отсортированную по возрастанию.

2. Какое из трёх деревьев не является строго сбалансированным ?

- A;

- B;

- C.

3. При обходе дерева слева направо его элемент заносится в массив…

- при втором заходе в элемент ;

- при первом заходе в элемент;

- при третьем заходе в элемент.

4. Элемент массива с ключом k=20 необходимо вставить в изображённое дерево так, чтобы дерево осталось отсортированным. Куда его нужно вставить ?

 

 

 

- левым сыном элемента 30 ;

- левым сыном элемента 41;

- левым сыном элемента 8.

-

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

 

 

 

- A;

- B;

- C .

 

Лабораторная работа 10. Исследование методов линейного и бинарного поиска.

1. Где эффективен линейный поиск ?

- в списке;

- в массиве;

- в массиве и в списке .

2. Какой поиск эффективнее ?

- линейный;

- бинарный ;

- без разницы.

3. В чём суть бинарного поиска ?

- нахожденние элемента массива x путём деления массива пополам каждый раз, пока элемент не найден ;

- нахождение элемента x путём обхода массива;

- нахождение элемента массива х путём деления массива.

4. Как расположены элементы в массиве бинарного поиска ?

- по возрастанию ;

- хаотично;

- по убыванию.

5. В чём суть линейного поиска ?

- производится последовательный просмотр от начала до конца и обратно через 2 элемента;

- производится последовательный просмотр элементов от середины таблицы;

- производится последовательный просмотр каждого элемента .

 

Лабораторная работа 11. Исследование методов поиска с перемещением в начало и транспозицией.

1. Где наиболее эффективен метод транспозиций ?

- в массивах и в списках ;

- только в массивах;

- только в списках.

2. В чём суть метода перестановки ?

- найденный элемент помещается в голову списка ;

- найденный элемент помещается в конец списка;

- найденный элемент меняется местами с последующим.

3. В чём суть метода транспозиции ?

- перестановка местами соседних элементов;

- нахождение одинаковых элементов;

- перестановка найденного элемента на одну позицию в сторону начала списка .

4. Что такое уникальный ключ ?

- если разность значений двух данных равна ключу;

- если сумма значений двух данных равна ключу;

- если в таблице есть только одно данное с таким ключом .

5. В чём состоит назначение поиска ?

- среди массива данных найти те данные, которые соответствуют заданному аргументу ;

- определить, что данных в массиве нет;

- с помощью данных найти аргумент.

 

Лабораторная работа 12. Поиск по дереву с включением.

 

1. В каком дереве при бинарном поике нужно перебрать в среднем N/2 элементов ?

 

 

- A;

- B;

- C.

2. Сколько нужно перебрать элементов в сбалансированном дереве ?

A) N/2;

B) Ln(N);

C) Log2(N);

D) eN.

- A;

- B;

- C ;

- D.

3. Выберете вариант дерева, полученного после вставки узла -1.

 

- A ;

- B;

- C.

-

4. К какому элементу присоединить элемент 40 для вставки его в данное дерево ?

 

 

- к 30-му ;

- к 15-му;

- к –15-му;

- к 5-му.

5. Какой вид примет дерево после встаки элемента с ключом 58 ?

 

- A ;

- B;

- C.

 

Лабораторная работа 13. Поиск по дереву с исключением.

 

1. Выберете вариант дерева, полученного после удаления узла –3.

 

 

 

- A;

- B ;

- C.

2. Какой вариант дерева получится после удаления элемента –1, а затем –8?

 

- A;

- B ;

- C.

3. Выберете вариант дерева, полученного после удаления узла с индексом 0.

 

- A ;

- B;

- C.

4. Какие из следующих пар чисел могут стать корнями дерева после удаления элемента 10 в соответсвии с двумя способами удаления узла, имеющего двух сыновей ?

 

- 0 или 15;

- 0 или 20;

- 5 или 30;

- 5 или 15 .

5. Какой вид примет дерево после удаления элемента с ключом 58 ?

 

- A ;

- B;

- C.

 

 


 

Методическое руководство к курсовой
работе

 

 



Введение

Курсовая работа выполняется студентами специальности 22.04 в четвертом семестре.

Целью курсовой работы является закрепление основ и углубление знаний в области структур и алгоритмов обработки данных в ЭВМ.

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

 

 

Требования к курсовой работе

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

 

1.2 Курсовая работа состоит из пояснительной записки, к которой прилагается дискета с отлаженными программами (пояснительная записка может быть выполнена в виде текстового файла в формате Microsoft Word).

 

1.3 В пояснительную записку должны входить:

- титульный лист (приложение Б);

- задание на курсовое проектирование (приложение А);

- реферат (ПЗ, количество таблиц, рисунков, схем, программ приложений, краткая характеристика и результаты работы);

- содержание:

   а) постановка задачи исследования;

   б) краткая теория по теме курсовой работы;

   в) программная реализация исследуемых алгоритмов;

   г) программа, с помощью которой проводилось исследование;

   д) результаты проведенного исследования:

   е) выводы;

- список использованной литературы;

- подпись, дата.

 

1.4 Пояснительная записка должна быть оформлена на листах формата А4, имеющих поля. Все листы следует сброшюровать и пронумеровать.

 

1.5 Исследование алгоритмов операций над структурами данных и методов сортировок и поиска проводить при следующих фиксированных количествах элементов в структурах: 10, 100, 1000, 10000.

 

1.6 Дополнительные условия выполнения курсовой работы выдаются руководителем работы.

 

Примерный перечень курсовых работ

 

1) Исследование стеков.

2) Исследование очередей.

3) Исследование кольцевых структур.

4) Исследование полустатических структур.

5) Исследование линейных одно- и двусвязных списков.

6) Исследование деревьев бинарного поиска.

7) Исследование методов сортировки включением.

8) Исследование методов сортировки выбором.

9) Исследование методов сортировки обменом.

 10) Исследование методов сортировки с помощью деревьев.

 11) Исследование улучшенных методов сортировки.

 12) Исследование линейного, индексного и бинарного поисков.

 13) Исследование методов оптимизации поиска.

 14) Исследование задач поиска по дереву.

 

Пример выполнения курсовой работы

Постановка задачи

Осуществить исследование прямых методов сортировки:

- метод прямого выбора;

- метод прямой вставки;

- метод прямого обмена.

Исследование осуществить, используя массивы упорядоченных и неупорядоченных чисел по 10,100,1000 и 10000 элементов.

 

Краткая теория

При обработке данных важно знать и информационное поле данных, и размещение их в машине.

Различают внутреннюю и внешнюю сортировки:

- внутренняя сортировка - сортировка в оперативной памяти;

- внешняя сортировка - сортировка во внешней памяти.

Сортировка - это расположение данных в памяти в регулярном виде по их ключам. Регулярность рассматривают как возрастание (убывание) значения ключа от начала к концу в массиве.

Если сортируемые записи занимают большой объем памяти, то их перемещение требует больших затрат. Для того, чтобы их уменьшить, сортировку производят в таблице адресов ключей, делают перестановку указателей, т.е. сам массив не перемещается. Это метод сортировки таблицы адресов.

При сортировке могут встретиться одинаковые ключи. В этом случае при сортировке желательно расположить после сортировки одинаковые ключи в том же порядке, что и в исходном файле. Это устойчивая сортировка.

Эффективность сортировки можно рассматривать с нескольких критериев:

- время, затрачиваемое на сортировку;

- объем оперативной памяти, требуемой для сортировки;

- время, затраченное программистом на написание программы.

Выделяем первый критерий. Можно подсчитать количество сравнений при выполнении сортировки или количество перемещений.

Пусть Н = 0,01n2 + 10n - число сравнений. Если n < 1000, то второе слагаемое больше, если n > 1000, то больше первое слагаемое.

Т. е. при малых n порядок сравнения будет равен n2, при больших n порядок сравнения - n.

Порядок сравнения при сортировке лежит в пределах

от 0 (n log n) до 0 (n2); 0 (n) - идеальный случай.

Различают следующие методы сортировки:

- строгие (прямые) методы;

- улучшенные методы.

Строгие методы:

 1) метод прямого включения;

 2) метод прямого выбора;

 3) метод прямого обмена.

Количество перемещений в этих трех методах примерно одинаково.

 

 

 3.2.1 Сортировка методом прямого включения

  Неформальный алгоритм

for i = 2 to n

x = a(i)

находим место среди а(1)…а(i) для включения х

next i

Программа на Паскале:

for i := 2 to n do begin x := a[i]; a[0] = x; for j := i - 1 downto 1 do if x < a[j]      then a[j + 1] := a[j]      else a[j + 1] := x; end;   

Эффективность алгоритма:

Количество сравнений в худшем случае будет равно
(n - 1)(n - 1).

 

3.2.2 Сортировка методом прямого выбора

Рассматриваем весь ряд массива и выбираем элемент, меньший или больший элемента а(i), определяем его место в массиве - k, и затем меняем местами элемент а(i) и элемент а(k).

Программа на Паскале:

for i := 1 to n - 1 do begin x := a[i]; k := i; for j := i + 1 to n do if x > a[j] then    begin      k := j;      x := a[k];    end; a[k] := a[i]; a[i] := x; end;

Эффективность алгоритма:

Число сравнений М = .

Число перемещений Cmin = 3(n - 1), Cmax = 3(n - 1)
(порядок n2).

В худшем случае сортировка прямым выбором дает порядок n2, как и для числа сравнений, так и для числа перемещений.

 


Дата: 2019-12-10, просмотров: 477.