Skip to content

"Java Data Structures and Algorithms Repository: A curated collection of projects and solutions covering various topics, from fundamental concepts to advanced techniques."

License

Notifications You must be signed in to change notification settings

Success1308/DSA-With-JAVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

166 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DSA with Java

Welcome to my collection of all topics completed during my journey learning Data Structures and Algorithms (DSA) with Java! πŸš€

Introduction

This repository contains various problem sets I completed while diving into the world of DSA with Java. Each topic covers different aspects of computer science and algorithms, ranging from basic variables and operators to complex data structures and algorithms.

Projects Overview

Variables

  • Description: Introduction to variables in Java, including data types and variable declarations.
  • Folder: 001-variables

Operators

  • Description: Exploration of different operators in Java, including arithmetic, relational, and logical operators.
  • Folder: 002-operators

Conditional Statements

  • Description: Implementation of conditional statements such as if-else and switch-case in Java.
  • Folder: 003-conditional-statements

Loops

  • Description: Understanding and implementing various loops, including for, while, and do-while loops.
  • Folder: 004-loops

Pattern Part 1

Functions

  • Description: Introduction to functions, including defining and calling functions, and understanding function scope.
  • Folder: 006-functions

Pattern Part 2

  • Description: Creating more complex patterns using nested loops.
  • Folder: 007-pattern-part-2

Arrays

  • Array Part 1: Introduction to arrays, including declaration, initialization, and basic operations.
  • Array Part 2: Advanced operations on arrays, including sorting and searching algorithms.

Sorting Algorithms

  • Description: Implementation of various sorting algorithms, such as bubble sort, selection sort, and insertion sort.
  • Folder: 010-sorting

2D Arrays

  • Description: Working with 2D arrays, including declaration, initialization, and traversal.
  • Folder: 011-2darrays

Strings

  • Description: Manipulation of strings, including basic operations, string methods, and string comparison.
  • Folder: 012-strings

Bit Manipulation

  • Description: Understanding and implementing bit manipulation techniques and operations.
  • Folder: 013-bitmanipulation

Object-Oriented Programming (OOP)

  • Description: Introduction to OOP concepts in Java, including classes, objects, inheritance, and polymorphism.
  • Folder: 014-oops

Recursion

  • Description: Understanding and implementing recursion, including basic recursive functions and backtracking.
  • Folder: 015-recursion

Divide and Conquer

  • Description: Implementation of divide-and-conquer algorithms, such as merge sort and quicksort.
  • Folder: 016-divide-and-conquer

Time and Space Complexity

Backtracking

  • Description: Solving problems using backtracking techniques, including N-Queens and Sudoku solver.
  • Folder: 018-backtracking

ArrayLists

  • Description: Understanding and using ArrayLists in Java, including basic operations and methods.
  • Folder: 019-arraylists

Linked Lists

  • Linked Lists Part 1: Introduction to linked lists, including singly linked lists and basic operations.
  • Linked Lists Part 2: Advanced operations on linked lists, including doubly linked lists and circular linked lists.

Stack

  • Description: Understanding and implementing stacks, including basic operations and applications.
  • Folder: 022-stack

Queue

  • Description: Understanding and implementing queues, including basic operations and applications.
  • Folder: 023-queue

Greedy Algorithms

  • Description: Solving problems using greedy algorithms, including the knapsack problem and activity selection.
  • Folder: 024-greedy

Binary Tree

  • Description: Introduction to binary trees, including traversal techniques and basic operations.
  • Folder: 025-binary-tree

Binary Search Tree

  • Binary Search Tree Part 1: Understanding and implementing binary search trees, including insertion and deletion.
  • Binary Search Tree Part 2: Advanced operations on binary search trees, including balancing and AVL trees.

Heap

  • Description: Understanding and implementing heaps, including heap operations and heap sort.
  • Folder: 028-heap

Graphs

  • Graphs Part 1: Introduction to graph theory, including representation and traversal algorithms.
  • Graphs Part 2: Advanced graph algorithms, including shortest path and spanning tree algorithms.
  • Graph Supplemental: Supplemental materials and problems on graphs.

Dynamic Programming (DP)

  • Description: Solving problems using dynamic programming techniques, including memoization and tabulation.
  • Folder: 034-dp

Segment Trees

  • Description: Understanding and implementing segment trees for range query problems.
  • Folder: 035-segment-trees

πŸ† Certificate of Completion

certificate-sigma-batch-dsa-662f9454b676a6f0bf0547cb_page-0001

java_basic certificate_page-0001


Feel free to explore the folders to see my implementations and solutions. If you have any questions or suggestions, don't hesitate to reach out! πŸŽ‰


Thank you for visiting and happy coding! 🌟

About

"Java Data Structures and Algorithms Repository: A curated collection of projects and solutions covering various topics, from fundamental concepts to advanced techniques."

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages