Commit 29cb2db

mo khan <mo.khan@gmail.com>
2020-08-31 17:56:48
fix: assign colour based on height
1 parent 02f04d0
Changed files (2)
src/03/avl_tree.c
@@ -185,6 +185,7 @@ RBTree *avl_tree_to_rb_tree(AVLTree *tree) {
     return NULL;
 
   RBTree *rb_tree = rb_tree_initialize(tree->value);
+  rb_tree->colour = tree->height % 2 == 0 ? black : red;
   rb_tree->left = avl_tree_to_rb_tree(tree->left);
   rb_tree->right = avl_tree_to_rb_tree(tree->right);
   return rb_tree;
src/03/avl_tree_test.c
@@ -310,11 +310,11 @@ Ensure(delete_returns_a_null_root) {
 
 Ensure(to_rb_tree_returns_a_new_red_black_tree) {
 /*
-        (20:3)                      (20:b)
-        /    \       -->            /    \
-    (15:2)    (30:2)           (15:r)    (30:r)
+        (20:3)                      (20:r)
+        /    \          -->         /    \
+    (15:2)    (30:2)           (15:b)    (30:b)
     /    \        \            /   \         \
-(10:1) (17:1)     (35:1)  (10:b) (17:b)      (35:b)
+(10:1) (17:1)     (35:1)  (10:r) (17:r)      (35:r)
  */
   AVLTree *tree = NULL;
   RBTree *expected = NULL;