Тест №3 1 Дадена е думата МАТЕМАТИКА. Отбележете съответствията на срещащите се букви и крайни редици от 0 и 1, които са оптимални кодове от алгоритъма на Хофман. + К-0001 И-0000 М-10 А-01 Т-11 Е-001 - К-001 И-01 М-11 А-0000 Т-10 Е-0001 2 Отбележете правилно запълнена хеш-таблица чрез отворено адресиране, ако данните с ключове 125, 224, 335, 123 се въвеждат последователно в масива. Хеш-функциите са дадени за всеки конкретен случай. + h(d)=d%10, (-,-,-,123,224,125,335,-,-,-) - h(d)=(d-25)/100, (-,123,125,224,335,-, ...) 3 Дадени са следните структури: struct A { int x; int xx[2]; } a[2]; struct B { int y; A yy[2]; } b[2]; Отбележете правилните имена на променливи, свързани с дадените структури. + a[0] - A[1].xx[0] 4 Дадена е следната дефиниция обекти от тип клас: class Test { private: int m, n; public: Test(int mm=0, int nn=0) { setmn(mm,nn); } void setmn(int mm, int nn) { m=mm; n=nn; } int getm() { return m; } void print() { cout << n << m; } } t1, t2; Отбележете правилните оператори за дефиниране и работа с обекти от този клас в главната функция main(). + Test t(1,2); - cout<nt)->nt е адресът на последния елемент от списъка. - (h->nt).pv е адресът на първия елемент от списъка. 8 Дадени са следните рекурсивни функции: int s(int n) { if (n) return (n+m(n-1)); else return 1; } int m(int n) { if (n) return (n*s(n-1)); else return 0; } Отбележете верните твърдения. + s(1) е 1 - s(2) е 2 9 Даден е аритметичния израз a*(b+c)*d-e*f и е представен като двоично дърво. Дадени са метод за обхождане и редица от символи. Отбележете в кои случаи (под)редицата може да се генерира от дадения вид обхождане на двоичното дърво. + длк: bc - дкл: ef 10 Дадена е следната частична наредба: a