Skip to content

Kanishk1420/Data-Structures-with-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms (DSA) & Java Foundations

This repository contains resources, and important questions for core DSA concepts and fundamental Java programming each topics.

Completed Topics

Basics of Programming

  • Flowcharts & Pseudocodes
  • Variables & Data Types
  • Conditional Statements
  • Operators

Loops & Functions

  • For loop, While loop, Do-while loop
  • Patterns
  • Functions

Arrays

  • Introduction to Arrays
  • Searching & Sorting
    • Linear search
    • Binary search
    • Selection sort
    • Bubble sort
    • Insertion sort
    • Count sort

2D Arrays & Strings

  • 2D Arrays
  • Strings

Bit Manipulation

  • Binary number system
  • Bitwise operators
  • Bit operations
  • Fast exponentiation

Object-oriented programming

  • Objects & Classes
  • Constructors and related concepts
  • Abstraction, Encapsulation
  • Inheritance, Polymorphism
  • Abstract classes
  • Interfaces

Recursion

  • Basics of Recursion
  • Recursive problems
    • Factorial
    • Fibonacci
    • Power of a number
    • Tower of Hanoi

Divide and Conquer

  • Introduction to Divide and Conquer
  • Merge Sort
  • Quick Sort

Time and Space Complexity

  • Big O Notation
  • Analyzing algorithms
  • Common complexities
  • Space complexity

Linear Data Structures

  • Backtracking
    • N-Queens Problem
    • Sudoku Solver
  • ArrayLists
  • Linked lists
    • Insertion and deletion operations
    • Midpoint of linked list
    • Merging sorted linked lists
    • Reversing a linked list
  • Stacks and Queues
    • Stack using arrays and linked list
    • Queue using arrays
    • Dynamic queue class
    • Circular queue

Advanced Data Structures

  • Binary Trees & BST
    • Introduction to Binary Trees
    • Tree traversals
    • Height and LCA of tree
    • Binary Search Trees
    • Insertion and deletion in BST
    • Types of balanced BSTs
  • Heaps/Priority Queues
    • Min/Max heaps
    • Heap Sort
    • Priority Queues implementation
    • Insert and Delete operations
  • Hashing (Maps & Sets)
    • Hashmaps
    • Hashsets
    • Implementation details
  • Tries
    • Basic operations and implementation
  • Graphs
    • Introduction and terminology
    • Graph traversals (DFS and BFS)
    • Weighted and directed graphs
    • Minimum Spanning Trees
    • Cycle Detection
    • Dijkstra's algorithm
    • Bellman Ford Algorithm
  • Segment Trees
    • Creation and range queries

Dynamic Programming

  • Fundamentals of DP
  • Memoization
  • Knapsack, Factorial, Fibonacci using DP
  • Longest Common Subsequence
  • Edit distance
  • Matrix Chain Multiplication

Learning Resources

  • Books
  • Online courses
  • Practice websites like LeetCode and Codeforces
  • Community forums

Contributing

Feel free to contribute to this repository by adding implementations, improving existing code, or suggesting additional topics.

About

A comprehensive collection of Data Structures implementations in Java, including arrays, linked lists, stacks, queues, trees, graphs, and sorting algorithms. This repository serves as both a learning resource and a reference guide for computer science students and developers looking to enhance their understanding of fundamental data structures

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages