Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
спо все задачи на экзамен 2012 год.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
189.28 Кб
Скачать

1. Триады - многоадресный код с неявно именуемым результатом

C=A*12+K*(2-3*B)

1. *(A,12)

2. *(3,B)

3. – (2,2 )

4. *(K,3 )

5. +(1 ,4 )

6.:= (C,5 )

2. Тетрады – многоадресный код с явно именуемым результатом

C=A*12+K*(2-3*B)

1. *(A,12,D1)

2. *(3,B,D2)

3. – (2,D2,D3)

4. *(K,D3,D4)

5. +(D1,D4,D5)

6.:= (D5,0,C)

3. Построение таблицы идентификаторов методом бинарного дерева. Идентификаторы поступают в следующем порядке: K1, A22, B1, M, P3, L. Решение: создаем дерево идентификаторов, листья пишутся с точи зрения расположения букв в алфавите – если по алфавиту меньше то на налево, если больше то направо.

4. Обратная польская запись операций

Вычислить выражения в обратной польской записи с использованием стека. Выражение: 5*9-6*(3+4)

5

9

*

6

3

4

+

*

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

3

3

7

 

 

 

9

 

6

6

6

6

42

 

5

5

45

45

45

45

45

45

3

5. Заполнение таблицы идентификаторов методом цепочек (хэш адресация методом цепочек)

Идентификаторы поступают в следующем порядке: ab, ac, an, ak, bc, az, ck. Максимальное значение ХФ Nm=13 (под ХТ будет выделен объем памяти, равный 13). Используемая ХФ-ASCII-код первой буквы идентификатора.

h(ab)=h(ac)=h(an)=h(ak)=h(az)=d7

h(bc)=d3

h(ck)=d9

ХТ

ТИ

d1

 

a1

ab

a2

d2

 

a2

ac

a3

d3

a5

a3

an

a4

d4

 

a4

ak

a5

d5

 

a5

bc

a6

d6

 

a6

az

a7

d7

a1

a7

ck

-

d8

 

d9

a7

d10

 

d11

 

d12

 

d13

 

Указатель

6. Заполнение таблицы идентификаторов методом рехеширования с помощью произведения

Формула для простого рехеширования hi(A)=(h(A)+i)mod Nm

Формула для рехеширования с помощью произведения hi(A)=(h(A)*i)mod Nm

Идентификаторы поступают в следующем порядке: ab, ac, an, ak, bc, az, ck. Максимальное значение ХФ Nm=13 (под ТИ будет выделен объем памяти, равный 13). Используемая ХФ- ASCII-код первой буквы идентификатора.

h(ab)=h(ac)=h(an)=h(ak)=h(az)=d7

h(bc)=d3

h(ck)=d9

ТИ

d1

ac 

d2

ak 

d3

d4

 

d5

ck 

d6

 

d7

ab

d8

an

d9

az

d10

d11

d12

d13

 

Шаг 1. h(ab)=d7

Шаг 2. h(ac)=d7 - коллизия

h1(ac)=(h(ac)*1)mod13=d7 - коллизия

h2(ac)=(h(ac)*2)mod13=d1

Шаг 3. h(an)=d7 - коллизия

h1(an)=(h(an)*1)mod13=d7 - коллизия

h2(an)=(h(an)*2)mod13=d1- коллизия

h3(an)=(h(an)*3)mod13=d8

Шаг 4. h(ak)=d7 - коллизия

h1(ak)=(h(ak)*1)mod13=d7 - коллизия

h2(ak)=(h(ak)*2)mod13=d1 - коллизия

h3(ak)=(h(ak)*3)mod13=d8 - коллизия

h4(ak)=(h(ak)*4)mod13=d2

Шаг 5. h(bc)=d3

Шаг 6. h(az)=d7 - коллизия

h1(az)=(h(az)*1)mod13=d7 - коллизия

h2(az)=(h(az)*2)mod13=d1 - коллизия

h3(az)=(h(az)*3)mod13=d8 - коллизия

h4(az)=(h(az)*4)mod13=d2 - коллизия

h5(az)=(h(az)*5)mod13=d9

Шаг 7. h(ck)=d9 - коллизия

h1(ck)=(h(ck)*1)mod13=d9 - коллизия

h2(ck)=(h(ck)*2)mod13=d5