Структури даних, Детальна інформація

Структури даних
Тип документу: Реферат
Сторінок: 17
Предмет: Математика
Автор: Олексій
Розмір: 43.8
Скачувань: 994
begin

if (HV[V1[i]] = 0) then HV[V1[i]] \xF0AC i;

if (HV[V2[i]] = 0) then HV[V2[i]] \xF0AC i;

if (HF[F1[i]] = 0) then HF[F1[i]] \xF0AC i;

if (HF[F2[i]] = 0) then HF[F2[i]] \xF0AC i;

end;

Після виконання процедури Fill для наведеного прикладу масиви HV та HF приймуть наступні значення:

HV = [1,1,2,3,4,5,6];

HF = [1,7,4,2,1].

Процедура vertex ( i ) будує послідовність ребер, інцидентних vi як послідовність адрес, занесених в масив An.

Vertex ( j )

i \xF0AC 1;

a \xF0AC\xF020HV[j];

a0 \xF0AC a;

An[i] \xF0AC a;

i \xF0AC i + 1;

if (V1[a] = j) then a \xF0AC P1[a]

else a \xF0AC P2[a];

while (a \xF0B9\xF020 a0) do

begin

An[i] \xF0AC a; i \xF0AC i + 1;

if (V1[a] = j) then a \xF0AC P1[a]

else a \xF0AC P2[a];

end;

Час роботи процедури Vertex ( j ) пропоційна числу ребер, інцидентних vj. Аналогічно можна створити процедуру Facet ( j ), за допомогою якої можна отримати послідовність ребер, які обмежують грань fj, замінивши в попередній процедурі HV та V1 на HF та F1.

Процедури Vertex ( j ) перелічує ребра в порядку обхода навколо вершини проти годинникової стрілки, а Facet ( j ) перелічує їх в порядку обхода за годинниковою стрілкою навколо грані.

Хеш таблиці. Нехай дано n елементів, ключами яких є цілі числа в межах від 1 до m, m \xF0B3\xF020n. У найпростішому випадку задані n елементів можна зберігати у таблиці T[m] з прямою адресацією: T[i] або порожнє, або містить один елемент. Пошук в такій таблиці відбувається за час O(1). При такому зберіганні даних повинні виконуватись дві умови:

всі ключі повинні бути унікальними;

значення ключів повинні знаходитися у певних межах.



The online video editor trusted by teams to make professional video in minutes