CST 370 - Week 6

 Hey everyone,

This week, I explored several fundamental data structures and algorithms that are essential for efficient data organization and manipulation. I started with AVL Trees, where I learned how self-balancing binary search trees maintain their height through rotations. From the lecture and exercises, I practiced identifying whether a tree is AVL and performed left and right rotations to restore balance. The AVL tree visualization tool was especially helpful in understanding how the tree structure changes dynamically during insertions.

Additionally, I shared about my experience in comparing test cases in our homework assignments with my classmates on Discord. I shared how to add the "a.out" file and use the manual commands provided by the professor.

I also studied 2-3 Trees, a type of balanced search tree where nodes can contain two or three children. I learned how values are inserted and how nodes split when they become overfull. The video introduction and exercises clarified how this structure guarantees logarithmic height, helping maintain search efficiency.

Moving forward, I learned about Heaps and the Heapsort algorithm. I now understand how a Max Heap maintains the largest element at the root. I also learned about constructing heaps using both array-based methods and the bottom-up approach. 

Finally, I studied Hashing, an efficient technique for data retrieval. I explored how hash functions work, the problem of collisions, and strategies like chaining and open addressing to handle them. I also learned about load factors and the importance of rehashing when a hash table becomes too full.

This week’s readings, videos, and exercises gave me a comprehensive understanding of these advanced data structures and algorithms, and how they contribute to optimizing performance in various computing tasks.

Comments

Popular posts from this blog

CST 370 - Week 1

CST 370 - Week 5

CST 370 - Week 4