База ответов ИНТУИТ

Основы программирования

<<- Назад к вопросам

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

(Отметьте один правильный вариант ответа.)

Варианты ответа
Дек.
Множество, реализованное на базе упорядоченного бинарного дерева. (Верный ответ)
Линейный двунаправленный список.
Похожие вопросы
Пусть требуется реализовать упорядоченный набор элементов,причем элемент может повторяться в наборе несколько раз.Элементы можно добавлять к набору и удалять из набора. Какаяструктура данных лучше всего подходит для этого?
Текст представляет собой последовательность строк.При этом строки можно изменять, удалять и добавлятьв любое место текста. Какая структура данныхлучше всего подходит для хранения и редактированиятакого текста?
Элементы множества хранятся в массиве в возрастающемпорядке. Пусть множество содержит 10 элементов.Сколько операций сравнения достаточно выполнить,чтобы найти произвольный элемент в множестве или убедиться в егоотсутствии?
Элементы множества хранятся в массиве в возрастающемпорядке. Пусть множество содержит 12 элементов.Сколько операций сравнения достаточно выполнить,чтобы найти произвольный элемент в множестве или убедиться в егоотсутствии?
Пусть a — вещественный массив размера n(индекс элементов меняется от 0 до n-1).Определить, содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа Быстрая сортировкадано: цел n;      вещ a[n]; // вещественный массив размера nцел m;          // индекс медианыутверждение: n >= 2  и             0 <= m  и  m < n;надо: // разделить массив на три части:      // 1) слева элементы, меньшие медианы;      // 2) в центре медиана;      // 3) справа элементы, большие или равные медиане.цел i, j, k; вещ t;i := (-1); j := n;цикл пока i+1 < m  или  m < j-1| инвариант: a[0], a[1], ..., a[i] < a[m]  и|            a[m] <= a[j], a[j+1], ..., a[n-1]  и|            i < m  и  m < j|| если i+1 < m| | то| |   если a[i+1] < a[m]| |   | то i := i+1;    // расширяем левую часть| |   иначе если j-1 > m| |   | иначе| |   | утверждение: a[i+1] >= a[m];| |   | // меняем местами элементы a[i+1] и a[j-1]| |   | t := a[i+1]; a[i+1] := a[j-1]; a[j-1] := t;| |   | если j-1 == m| |   | | то m := i+1;  // новое положение медианы| |   | конец если| |   | j := j-1;       // расширяем правую часть| |   конец если| | иначе| |   утверждение: j-1 > m;| |   . . . // этот случай рассматривается аналогично| |   . . . // случаю i+1 < m| || конец есликонец циклаутверждение: 0 <= m  и  m < n  и             a[0], a[1], ..., a[m-1] < a[m]   и             a[m] <= a[m+1], a[m+2], ..., a[n-1]
Какая структура данных обычно используетсяпри передаче параметров подпрограммам и функциям?
Какая структура данных обычно используетсядля сохранения состояния прерванного задания?
Какая структура данных обычно используетсядля передачи заданий драйверу операционной системы?
Диаметром множества вещественных чисел называетсямаксимум из абсолютных величин попарных разностейего элементов. Рассмотрим функцию F, которая последовательностивещественных чисел ставит в соответствие диаметрмножества ее элементов. Какая из приведенных ниже функцийна последовательностях является индуктивным расширениемфункции F?
Пусть a — целочисленный массив размера n(индекс элементов меняется от 0 до n-1),элементы которого строго возрастают:a[0] < a[1] <... < a[n-1].Определить, содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа Поискдано: цел n;      цел a[n]; // a[0] < a[1] < ... < a[n-1]цел x;          // искомый элементцел b, e, c;. . .           // рассматриваются исключительные случаиутверждение: a[0] < x  и  x <= a[n-1];  // общий случайb := 0; e := n - 1;цикл пока e - b > 1| инвариант: a[b] < x  и  x <= a[e];| c := (b + e) / 2; // c -- целая часть (b+e)/2| если x < a[c]| | то    e := c;   // выбираем левую половину отрезка| | иначе b := c;   // выбираем правую половину отрезка| конец есликонец циклаутверждение: b == e - 1  и             a[b] < x  и  x <= a[e];