wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Сортировки

Total questions: 10

Worksheet time: 5mins

Name
Class
Date
1.

Дана последовательность чисел a1,a2,...an. Требуется переставить элементы так, чтобы они были расположены по убыванию. Для этого в массиве, начиная с первого, выбирается наибольший элемент и ставится на первое место, а первый - на место наибольшего. Затем, начиная со второго, эта процедура повторяется.

a)

сортировка выбором

b)

сортировка обменами (пузырьком)

c)

сортировка вставками

d)

все ответы правильные

2.

Дана последовательность чисел a1, a2,...an. Требуется переставить числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если ai>ai+1, то делается перестановка. Так продолжается до тех пор, пока все элементы не окажутся расположенными в порядке возрастания.

a)

сортировка выбором

b)

сортировка обменами (пузырек)

c)

сортировка вставками

d)

сортировка Шелла

3.

Дана последовательность чисел a1, a2,...an. Требуется переставить числа в порядке возрастания. Делается это следующим образом. Пусть a1,a2,...,ai - упорядоченная последовательность, т.е. a1<=a2<=...<=ai. Берётся следующее число ai+1 и вставляется в последовательность так, чтобы новая последовательность была также возрастающей. Процесс производится до тех пор, пока все элементы от i+1 до n не будут перебраны.

a)

сортировка вставками

b)

сортировка обменами (пузырьком)

c)

сортировка вставками

d)

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

4.

Укажите какой сортировке принадлежит фрагмент:

for (int k = 0; k < n - 1; k++){

int nmax = k;

for (int i = k + 1; i < n; i++)

if (a[i] > a[nmax])

nmax = i;

swap(a[k], a[nmax]);

}

a)

сортировка выбором

b)

сортировка обменами

c)

сортировка вставками

d)

все варианты верные

5.

Укажите вид сортировки:

for (int k = 1; k < n; k++)

for (int i = 0; i < n-k; i++)

if (a[i] > a[i + 1])

swap(a[i], a[i + 1]);

a)

сортировка выбором

b)

сортировка обменами

c)

сортировка вставками

d)

все ответы верные

6.

Укажите вид сортировки:

for (int k = 1; k < n; k++) {

int i = k;

while (i > 0 && a[i - 1] > a[i]){

swap(a[i - 1], a[i]);

i--; } }

a)

сортировка вставками

b)

сортировка обменами

c)

сортировка выбором

d)

сортировка Шелла

7.

Что описывает данный алгоритм? Алгоритм

1.Выбрать средний элемент A[c] и сравнить с X.

2.Если X = A[c], то нашли (стоп).

3.Если X < A[c], искать дальше в первой половине.

4.Если X > A[c], искать дальше во второй половине.

a)

сортировка обменами

b)

сортировка выбором

c)

бинарный поиск

d)

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

8.

Что выполняетт фрагмент программы:

for (int i = 0; i < n; i++){

a[i] = rand() % 100;

cout << a[i] << " ";

a)

элементы массива случайным образом

b)

линейный поиск в массиве

c)

бинарный поиск в массиве

d)

сортировка обменом

9.

Что показывает фрагмент программы?

for (int i = 0; i < n; i++){

if ((a[i]%2 ==1)&&(a[i]%5==0))

p = true;

} if (p) cout << "da ";

else cout << "net ";

a)

линейный поиск элемента

b)

бинарный поиск

c)

сортировка вставками

d)

сортировка выбором

10.

Что ищет данный фрагмент программы?

int M=a[0]; int k=0;

for (int i = 1; i < n; i++)

if (a[i] > M) {M = a[i]; k=i; }

a)

минимальный элемент массива

b)

максимальный элемент массива

c)

бинарный поиск

d)

сортировка выбором