[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! 😊