GSoC'24 Week 6
[June 10 - June 16]
My fingers code faster than I can think!
Coding info
In the first half of this week, I completed the Red Black Trees class. In the second half, I worked on Binary Indexed Trees (which can also be interpreted as Fenwick Trees).
For Red Black Trees, the following methods have been implemented in the C++ backend, and tested exhaustively:
-
insert()_get_parent()_get_grand_parent()_get_sibling()_get_uncle()_is_onleft()_is_onright()__fix_insert()
-
delete()_find_predecessor()_transplant_values()_has_one_child()_is_leaf()_has_two_child()__has_red_child()_replace_node()__walk1_walk_isblack()__left_left_siblingcase()__right_left_siblingcase()__left_right_siblingcase()__right_right_siblingcase()__fix_deletion()_remove_node()_delete_root()__leaf_case()__one_child_case()__two_child_case()
- All tree traversals (OOPS concepts used to resuse code)
For Binary Indexed Trees, I’ve implemented the following methods in the C++ backend:
update()get_prefix_sum()get_sum()
Relevant PRs:
PR for RedBlackTrees (merged): #560
PR for BinaryIndexedTrees (merged): #561
In the following week, I will implement Splay Trees in the C++ backend.
Learnings/Difficulties
Everything is now going smoothly! My fingers code faster than I can think! I’ve understood the process and now become good at it, yay.
Thanks to my mentor, Gagandeep Singh, for his support throughout.
See you again after an amazing week! 😊
Enjoy Reading This Article?
Here are some more articles you might like to read next: