Skip to content

πŸš€ A 20-day challenge to master Java data structures and algorithms with daily coding and notes. Follow along and enhance your Java skills!

Notifications You must be signed in to change notification settings

Jabiullah/Java-20-Day-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Java 20-Day Challenge πŸš€

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.

Table of Contents

Overview

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.

Daily Progress

Day 1 - Array & ArrayList

  • 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.

Day 2 & 3 - Linked List

  • 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.

Day 4 - Stack

  • 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.

Day 5 - Queue Basics

  • 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.

Day 6 - Queue Implementation

Day 7 - Trees and Tree Traversals

  • 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.

Day 8 - Binary Tree (BT)

  • Topics Covered:
    • BT Properties (Number of nodes, Number of leaf Nodes, Height)
  • Code:

Day 9 - Practise on BT

Day 10 - Binary Search Tree

  • Topics Covered:
    • BST Properties (Insert, Search, InOrder Traversal)
  • Code:

Day 11 - BST Delete Property

Day 12 - Hashing

  • Topics Covered:
    • HashSet
    • HashMap
  • Code:

Day 13 - HashMap Implementation

Resources

Contact

Feel free to reach out if you have any questions or suggestions!


Thanks for visiting my repository! Stay tuned for more updates. 😊

About

πŸš€ A 20-day challenge to master Java data structures and algorithms with daily coding and notes. Follow along and enhance your Java skills!

Topics

Resources

Stars

Watchers

Forks

Languages