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

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

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

Бинарное дерево называется полным, еслидлины всех путей к внешним (нулевым) вершинам одинаковы.(Это означает, что у каждой нетерминальной вершины ровнодва сына, и длины всех путей от корня к терминальным вершинамодинаковы и равны высоте дерева.) Высотой дерева называетсячисло вершин в пути максимальной длины от корня кнекоторой терминальной вершине, включая первую и последнюю вершиныпути. Сколько вершин в полном бинарном дереве высоты 10?

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

Варианты ответа
Число вершин равно 1024.
Число вершин равно 512.
Число вершин равно 511.
Число вершин равно 1023. (Верный ответ)
Похожие вопросы
Пусть у каждой нетерминальной вершины бинарного дерева естьровно два сына. Пусть в дереве 123 вершины. Каковамаксимальная высота такого дерева? (Высотой дерева называетсячисло вершин в пути максимальной длины от корня к некоторойтерминальной вершине, включая первую и последнюю вершиныпути.)
Пусть в красно-черном дереве число черных вершин(не включая внешние, или нулевые, вершины) равно 21.Какое максимальное количество красных вершин можетбыть в дереве?
Может ли в красно-черном дереведлина одного пути от корня к терминальной вершинеравняться 20, длина другого — 10?
Может ли в красно-черном дереве число красных вершинболее чем в два раза превышать число черных вершин?
В каком алгоритмическом языке — в Паскале или в Си —операция нахождения длины строки реализуется болееэффективно?
Как оценивается сверху высота h сбалансированного (почтисбалансированного) бинарного дерева в зависимости от числавершин n?
Рассмотрим следующую реализацию функции onSqrt,которая исполняет команду извлечения квадратного корня в проекте«Стековый калькулятор»:
static void onSqrt() {    double x;    if (st_empty()) {        printf("Stack empty.\n");        return;    }    x = st_pop();    assert(x >= 0.0); // утв: x неотрицательно    st_push(sqrt(x));    display();}
Правильно ли здесь используется конструкция «утверждение»,которая в Си реализуется функцией assert?
Прототип функции, которая вычисляет сумму элементов массива aдлины n, выглядит следующим образом:
    double sum(const double *a, int n);
Можно ли в описании этой функции и ее прототипа опустить слово const?(Могут ли при этом в корректной программе возникнутьошибки или предупреждения на стадии компиляции?)
Пусть описан тип R2Vector, представляющий векторна плоскости с вещественными координатами,
    typedef struct {        double x;        double y;    } R2Vector;
также описаны три переменныеu, v и w типа вектори вещественная переменная s:
    R2Vector u, v, w;    double s;
при этом переменная u содержат конкретный векторединичной длины, а вектор v получается изu вращением на 30 градусов по часовойстрелке. Указать, чему будет приблизительно равнозначение вещественной переменной s в результатевыполнения следующего фрагмента программы:
    w.x = (-u.y); w.y = u.x;    s = v.x * w.x + v.y * w.y;
Пусть описан тип R2Vector, представляющий векторна плоскости с вещественными координатами:
    typedef struct {        double x;        double y;    } R2Vector;
также описаны три переменные u, v и wтипа вектор и вещественная переменная s:
    R2Vector u, v, w;    double s;
при этом переменная u содержат конкретный векторединичной длины. Указать, чему будетприблизительно равно значение переменной s врезультате выполнения следующего фрагмента программы:
    v.x = (-u.y);    v.y = u.x;    w.x = u.x + v.x;    w.y = u.y + v.y;    s = sqrt(w.x * w.x + w.y * w.y);
(функция sqrt извлекает квадратный корень из вещественногочисла).