Bläddra i källkod

avl_tree: tiny optimisation

undefined
Guillaume Bittoun Sam Hocevar <sam@hocevar.net> 11 år sedan
förälder
incheckning
6dc8c98237
1 ändrade filer med 0 tillägg och 10 borttagningar
  1. +0
    -10
      src/lol/algorithm/avl_tree.h

+ 0
- 10
src/lol/algorithm/avl_tree.h Visa fil

@@ -130,12 +130,10 @@ protected:
if (key < this->m_key) if (key < this->m_key)
{ {
this->m_child[0]->increase_path(key); this->m_child[0]->increase_path(key);
this->compute_balance();
} }
if (this->m_key < key) if (this->m_key < key)
{ {
this->m_child[1]->increase_path(key); this->m_child[1]->increase_path(key);
this->compute_balance();
} }
} }


@@ -190,33 +188,25 @@ protected:
void rotateLL() void rotateLL()
{ {
tree_node * newhead = this->m_child[0]->rotate(CCW); tree_node * newhead = this->m_child[0]->rotate(CCW);

this->m_child[0] = newhead; this->m_child[0] = newhead;
this->compute_balance();
} }


void rotateLR() void rotateLR()
{ {
tree_node * newhead = this->m_child[0]->rotate(CW); tree_node * newhead = this->m_child[0]->rotate(CW);

this->m_child[0] = newhead; this->m_child[0] = newhead;
this->compute_balance();
} }


void rotateRL() void rotateRL()
{ {
tree_node * newhead = this->m_child[1]->rotate(CCW); tree_node * newhead = this->m_child[1]->rotate(CCW);

this->m_child[1] = newhead; this->m_child[1] = newhead;
this->compute_balance();
} }


void rotateRR() void rotateRR()
{ {
tree_node * newhead = this->m_child[1]->rotate(CW); tree_node * newhead = this->m_child[1]->rotate(CW);

this->m_child[1] = newhead; this->m_child[1] = newhead;
this->compute_balance();
} }


enum Rotation { CW = 0, CCW = 1 }; enum Rotation { CW = 0, CCW = 1 };


Laddar…
Avbryt
Spara