Skip to content

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

Contributors

Languages