Skip to Content
C++ Data Structures and Algorithms
book

C++ Data Structures and Algorithms

by Wisnu Anggoro
April 2018
Intermediate to advanced content levelIntermediate to advanced
322 pages
6h 57m
English
Packt Publishing
Content preview from C++ Data Structures and Algorithms

Implementing AVL ADT

By now, we will have the AVL class declaration, as follows:

class AVL : public BST{private:    BSTNode * root;    int GetHeight(BSTNode * node);    BSTNode * RotateLeft(BSTNode * node);    BSTNode * RotateRight(BSTNode * node);    BSTNode * Insert(BSTNode * node, int key);    BSTNode * Remove(BSTNode * node, int key);public:    AVL();    void Insert(int v);    void Remove(int v);};

As we can see in the preceding declaration code, we derive the AVL class from the BST class, which we discussed earlier. So, we just need to define the Insert() and Remove() operations. Also, since we have to maintain the tree's balance, we need to use the RotateLeft() and RotateRight() operations.

We are now going to balance our preceding skewed left BST tree example ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Data Structures and Algorithms Using C++

Data Structures and Algorithms Using C++

Ananda Rao Akepogu, Radhika Raju Palagiri
C++ Data Structures and Algorithm Design Principles

C++ Data Structures and Algorithm Design Principles

John Carey, Anil Achary, Shreyans Doshi, Payas Rajan
C++ Plus Data Structures, 6th Edition

C++ Plus Data Structures, 6th Edition

Nell Dale, Chip Weems, Tim Richards

Publisher Resources

ISBN: 9781788835213Supplemental Content