CITB308 - Тест 2
Отбележете верните и неверни дефиниции и
твърдения за дървета.
(да) Ако възел u е родител на възел v, то v е дете на u.
(не) Двоично дърво е наредено дърво, когато всеки възел има
най-много три деца.
Дадено е дърво АТД с n елементи. Нека v и
w са позиции от дървото. Отбележете верните (и неверни) съответствия
между функцията на този АТД и изискванията за асомптотичната й
оценка.
(да) isRoot(w) - O(1)
(не) children(v) - O(1)
Дадено е наредено дърво АТД T =
A(B(H,E(I,J),F),C(G),D). Определете верните (и неверни) наредени
двойки: извикване на функция, върната стойност от тази функция. p(X)
означава позицията на възела X.
(да) root(), p(A)
(не) root(), p(D)
Дадено е наредено дърво АТД T =
A(B(H,E(I,J),F),C(G),D). Определете дали дадената редица е част от
preorder обхождане на дървото.
(да) ABH
(не) CGDA
Дадено е наредено дърво АТД T =
A(B(H,E(I,J),F),C(G),D). Определете дали дадената редица е част от
postorder обхождане на дървото.
(да) FBGC
(не) CGDA
Дадено е двоично дърво АТД T =
a(b(d(h,i),e),c(f,g(j(l,m),k))). Определете дали дадената редица е
част от inorder (лкд) обхождане на дървото.
(да) jmgk
(не) hdie
Дадено е двоично дърво АТД T =
a(b(d(h,i),e),c(f,g(j(l,m),k))). Определете дали дадената редица е
част от Euler tour обхождане на дървото.
(не) abcde
(да) gkgca
Да се построи двоично дърво за следния
аритметичен израз: (7 * (1 + a) + b) / 3. Определете дали дадената
редица е част от preorder (клд) обхождане на дървото.
(да) ab3
(не) 7*1
Да се построи двоично дърво за следния
аритметичен израз: (3 * (4 + a) + b) / 2. Определете дали дадената
редица е част от postorder (лдк) обхождане на дървото.
(да) b+2
(не) ab2
Дадено е двоично дърво. Да се провери дали
редицата (дадена след ;) е част от inorder (лкд) обхождане на
дървото.
(да) c(b(a,d),e);bdc
(не) a(e,b(f,c(g,d)));bgd
Да се построи двоично дърво, представящо
дадения аритметичен израз и да се провери дали редицата x2y e част
от postorder (лдк) обхождане на дървото.
(не) (x-2)*y
(да) (x+2*(y-2))/2
Нека n е броят на върховете, e - броят на
външните върхове, i - броят на вътрашните върхове на правилно
двоично върво, и h е неговата височина. Отбележете верните (и
грешни) равенства и неравенства.
(да) i = e - 1
(не) 2e = n
Отбележете верните и грешните дефиниции и
твърдения за приоритетна опашка и хип.
(да) Хип T съдържащ n ключа има височина h = [log(n + 1)].
(не) За всеки вътрешен възел на хип v, който не е корен
key(parent(v)) >= key(v).
Дадена е приоритетна опашка АТД -
P{(5,A),(7,D),(9,C)}. За функция от този АТД определете върнатата
стойност и ефекта й за P.
(не) minElement() - 5 - P{(5,A),(7,D),(9,C)}
(да) minKey() - 5 - P{(5,A),(7,D),(9,C)}
Дадена е приоритетна опашка АТД с n
елементи, реализирана с ненаредена редица. Отбележете верните и
неверни съответствия между операция от този АТД и асимпотичната
оценка за времето за изпълнение на операцията.
(да) minKey() - \Theta(n)
(не) minKey() - O(1)
Дадена е приоритетна опашка АТД с n
елементи, реализирана с наредена редица. Отбележете верните и
неверни съответствия между функция от този АТД и асимпотичната
оценка за времето за изпълнение на функцията.
(да) minElement() - O(1)
(не) minElement() - O(n)
Дадена е приоритетна опашка АТД с n
елементи, реализирана с хип. Отбележете верните и неверни
съответствия между операция от този АТД и асимпотичната оценка за
времето за изпълнение на операцията.
(да) minElement() - O(1)
(не) minElement() - O(n)
Даден е вектор, реализация на хип.
Посочете верните (и неверни) представяния на хипа след изпълнение на
операцията InsertItem(1,1).
(да) 2,5,6,9,7 -> 1,5,2,9,7,6
(не) 2,5,6,9,7 -> 1,2,5,6,9,7
Даден е вектор, реализация на хип.
Посочете верните (и неверни) представяния на хипа след изпълнение на
операцията RemoveMin().
(да) 2,5,6,9,7 -> 5,7,6,9
(не) 2,5,6,9,7 -> 5,6,9,7
Посочете верни и неверни твърдения за
следната дефиниция на член-функция
Element& element(const
Position& p)
{
return
p.element().element();
}
в класа HeapPriorityQueue (виж html-7.8 (HPQ1)).
(да) Върнатата стойност е псевдоним на данна на обект от клас Item.
(не) p е член-данна в класа Position.
Разгледайте Code
Fragment: SSPQ2. Отбележете грешни и верни
твърдения.
(да) Обектът S е реализация на
редица АТД.
(не) comp е име на компаратор клас.
Разгледайте Code
Fragment: HPQ2. Отбележете грешни и верни твърдения.
(да) Обектът T е реализация на хип.
(не) comp е име на компаратор клас.