GSoC'24 Week 5
[June 03 - June 09]
PyCon’24 proposal submitted and Self Balancing Binary Trees done!
Coding info
This week, I started and completed the C++ backend for Self Balancing Binary Tree class. The methods are:
left_rotate()
right_rotate()
left_right_rotate()
right_left_rotate()
Along with this, I submitted my proposal for a talk at PyCon’24. If accepted, I will be presenting my work done in PyDataStructs as a part of Google Summer of Code 2024 at PyCon 2024, Bengaluru. Sounds exciting!
PyCon’24 Proposal: Unleashing Python’s Power: Lightning-fast speed with a C++ Backend
Slides for the talk: Link
Moreover, I started working on RedBlackTrees
class. I have finished all helper methods for insert() and the insert()
method, which passes all the test cases and works correctly for all different conditions.
I have added support for all tree traversals to the RedBlackTree class. These include:
pre_order
in_order
post_order
out_order
depth_first_search
breadth_first_search
OOPS concepts used greatly helped here. I can reuse the base code written for tree traversals in any tree data structure.
Relevant PRs:
PR for Self Balancing Binary Trees (which has been merged): #559
PR for RedBlackTrees (work in progress): #560
In the following week, I will continue working on the RedBlackTree
class and add more functionality to its C++ backend. It includes methods like delete()
and various helper methods required to handle all cases of deleting from the RedBlackTree. Following this, I will start implementing the next tree data structure: Binary Indexed Trees and it’s algorithms.
Learnings/Difficulties
This week, I felt confident and coded really fast, but at the same time, I ensured that the quality of code was not compromized. I have now learned to identify possible bugs and segfaults at the time of writing code itself, this has greatly increased my efficiency. I have mastered OOPS concepts and they have helped me greatly. For example, I can reuse the base code written for tree traversals in any tree data structure!
I also learned to make an amazing proposal for a talk at PyCon’24 and prepared an outline for a talk of 30 minutes, with slides, to present at the conference.
Thanks to my mentor, Gagandeep Singh, for wonderful guidance for GSoC and helping me design an amazing talk for PyCon’24.
See you again after a productive week! 😊
Enjoy Reading This Article?
Here are some more articles you might like to read next: