Главная /
Основы программирования - обучения основам /
Пусть требуется реализовать упорядоченный набор элементов, причем элемент может повторяться в наборе несколько раз. Элементы можно добавлять к набору и удалять из набора. Какая структура данных лучше всего подходит для этого?
Пусть требуется реализовать упорядоченный набор элементов, причем элемент может повторяться в наборе несколько раз. Элементы можно добавлять к набору и удалять из набора. Какая структура данных лучше всего подходит для этого?
вопросПравильный ответ:
Линейный двунаправленный список.
Множество, реализованное на базе упорядоченного
бинарного дерева.
Нагруженное множество, реализованное на базе упорядоченного
бинарного дерева.
Динамический массив.
Сложность вопроса
72
Сложность курса: Основы программирования - обучения основам
50
Оценить вопрос
Комментарии:
Аноним
Это очень не сложный тест intuit.
31 июл 2017
Аноним
Гранд мерси за ответы по интуиту.
24 окт 2016
Другие ответы на вопросы из темы программирование интуит.
- # Пусть 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]
- # Как располагаются разряды двоичного представления целого числа внутри машинного слова в архитектуре Little Endian (процессоры Intel, Alpha и т.п.)?
- # Какой архитектуре соответствует представление целых чисел в протоколах сети Internet?
- # Указать, чему будет равно значение переменной n в результате выполнения следующего фрагмента программы: int n = 1000; while (n > 100) { n /= 2; }
- # Рассмотрим следующий фрагмент программы на Си: static int *p = 0; . . . p = (int *) malloc(sizeof(int)); *p = 123; Где хранится значение выражения "*p" (т.е. число 123)?