Изменения

Перейти к: навигация, поиск

АВЛ-дерево

261 байт добавлено, 11:30, 4 июня 2015
Балансировка
!Когда используется
!Расстановка балансов
!Псевдокод
|-
|'''Малое левое вращение''' (''Small left rotation'')
<tex>diff[a] = -1</tex> и <tex>diff[b] = 1</tex>
|node* rotateleft(node* a) { node* b = a->right; a->right = b->left; b->left = a; fixheight(a); fixheight(b); return b;}
|-
|'''Большое левое вращение''' (Big left rotation'')
<tex>diff[a] = 0</tex>, <tex>diff[b] = 0</tex> и <tex>diff[c] = 0</tex>
|node* bigrotateleft(node* a) { rotateright(a->right); rotateleft(a); return a;}
|}
Малое правое и большое правое вращение определяются симметрично малому левому и большому левому вращению.
Анонимный участник

Навигация