Структури даних, Детальна інформація
Структури даних
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). При такому зберіганні даних повинні виконуватись дві умови:
всі ключі повинні бути унікальними;
значення ключів повинні знаходитися у певних межах.
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
© Referats, Inc · All rights reserved 2021