Welcome to my Java 20-Day Challenge! For the next 20 days, I will be dedicating time each day to improve my Java programming skills and dive deeper into different data structures and algorithms. This repository contains all the code and notes I created during this challenge.
-
- Day 1: Array & ArrayList
- Day 2: Linked List
- Day 3: Linked List Palindrome
- Day 4: Stack
- Day 5: Queue Basics
- Day 6: Queue Implementation
- Day 7: Trees and Tree Traversals
- Day 8: Binary Tree (BT)
- Day 9: Practise on BT
- Day 10: Binary Search Tree
- Day 11: BST Delete Property
- Day 12: Hashing
- Day 13: HashMap
I am taking on this 20-day challenge to enhance my understanding of fundamental data structures and algorithms using Java. Each day, I will focus on a specific topic and implement related code to reinforce my learning. This README will be updated daily to reflect my progress.
- Topics Covered:
- Basics of Arrays
- Introduction to ArrayLists
- Differences between Arrays and ArrayLists
- Code:
- Summary:
- Explored the fundamental differences between arrays and arraylists in Java.
- Practiced basic operations like adding, removing, and accessing elements.
- Topics Covered:
- Singly Linked List
- Basic Operations (add, remove, traverse)
- Linked List Palindrome - Important for placement
- Code:
- Summary:
- Implemented a basic singly linked list from scratch, understanding how nodes are linked together and practicing operations such as insertion and deletion.
- Implemented a solution that involves reversing the second half of the list and comparing it with the first half.
- Topics Covered:
- Stack Data Structure
- Implementation using ArrayList and Linked List
- Code:
- Summary:
- Learned about the Stack data structure and its operations. Implemented Stack using both ArrayList and Linked List.
- Topics Covered:
- Queue Data Structure with (Queue and Linked List) library.
- Comparison with Stack and Queue.
- Code:
- Summary:
- Learned about the Queue data structure and its operations.
- Topics Covered:
- Queue Implementation using Array and Linked List
- Code:
- Topics Covered:
- Tree Data Structure
- Tree Traversal Methods: Preorder, Inorder, Postorder, Level Order
- Code:
- Summary:
- Learned about tree data structure and different traversal methods.
- Implemented tree traversal methods: Preorder, Inorder, Postorder, and Level Order.
- Topics Covered:
- BT Properties (Number of nodes, Number of leaf Nodes, Height)
- Code:
- Code:
- Topics Covered:
- BST Properties (Insert, Search, InOrder Traversal)
- Code:
- Topics Covered:
- BST Properties (Delete Cases)
- Code:
- Topics Covered:
- HashSet
- HashMap
- Code:
- Topics Covered:
- HashMap
- Code:
Feel free to reach out if you have any questions or suggestions!
- Email: [email protected]
- LinkedIn: Rabbius Sani Jabiullah
Thanks for visiting my repository! Stay tuned for more updates. π