Tags
Language
Tags
May 2025
Su Mo Tu We Th Fr Sa
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Data Structures And Algorithms With Java

    Posted By: ELK1nG
    Data Structures And Algorithms With Java

    Data Structures And Algorithms With Java
    Published 5/2025
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 17.39 GB | Duration: 43h 22m

    Master Java Programming & Data Structures

    What you'll learn

    Core Java Programming – Syntax, data types, control structures, functions, and exception handling.

    Object-Oriented Programming (OOP) – Concepts like classes, objects, inheritance, polymorphism, abstraction, and encapsulation in Java.

    Design Principles – Industry-standard principles such as SOLID, DRY, KISS, and YAGNI to write clean, maintainable code.

    Design Patterns & Machine Coding – Introduction to common design patterns and how to approach machine coding rounds in interviews.

    Linear Data Structures – Implementation and use cases of Arrays, ArrayLists, LinkedLists, Stacks, Queues, and HashMaps in Java.

    Non-Linear Data Structures – Understanding Trees (BST, AVL), Heaps (Min/Max), Tries, and Graphs along with traversal algorithms like DFS and BFS.

    Bit Manipulation – In-depth understanding of how bits work, including binary-decimal conversions and low-level operations.

    Space and Time Complexity – Learn how to analyze the efficiency of your code using Big-O notation.

    Requirements

    Basic familiarity with programming concepts (helpful but not mandatory)

    Description

    Welcome to the ultimate Java programming course by Piyush Garg — designed for beginners, intermediate learners, and seasoned developers who want to master Java and data structures from the ground up.In this comprehensive course, we begin with the core fundamentals of Java, covering syntax, object-oriented programming (OOP), and essential design principles like SOLID, DRY, and KISS. Whether you're new to programming or a college student aiming to strengthen your Java skills, this course is your go-to guide. We'll progress gradually, ensuring crystal-clear understanding of each topic.Java, being the most popular programming language, powers over 90% of Fortune 500 companies, Android applications, and financial systems. Its strong support for OOP makes it the ideal choice for aspiring software engineers.You’ll also learn to implement and work with both linear and non-linear data structures. In the linear section, we cover Arrays, ArrayLists, LinkedLists, Stacks, Queues, and HashMaps — the building blocks of any efficient program. Then, we dive into advanced topics like Trees (BST, AVL), Heaps (Min/Max), Tries, and Graphs, including key traversal algorithms like DFS and BFS.This course is packed with coding challenges to help you solidify concepts and prepare for technical interviews and machine coding rounds.By the end, you’ll be confident in Java and equipped to master Data Structures and Algorithms with ease.

    Overview

    Section 1: Introduction

    Lecture 1 How Java Works

    Lecture 2 Setting up Java and Intellij Idea

    Section 2: Basics

    Lecture 3 Hello World

    Lecture 4 Data Types in Java

    Lecture 5 Non Primitive Data Types

    Lecture 6 Variables and Constants in Java

    Lecture 7 Basic Athematic Operators

    Lecture 8 Taking Input from User

    Lecture 9 Conditional Statements in Java

    Lecture 10 Switch Statements in Java

    Lecture 11 Loops in Java

    Lecture 12 What are Arrays?

    Lecture 13 Arrays in Java

    Lecture 14 Arrays in Java Part 2

    Lecture 15 2D Arrays in Java

    Lecture 16 Dynamic Arrays using Lists

    Lecture 17 Exception and Exception Handling

    Lecture 18 Array Data Structure

    Lecture 19 HashMap Data Structure

    Lecture 20 Set Data Structure

    Section 3: Object Oriented Programming with Java

    Lecture 21 Introduction to OOPS

    Lecture 22 Benefits of OOPS

    Lecture 23 Methods and this keyoword

    Lecture 24 Constructor

    Lecture 25 Getters and Setters

    Lecture 26 Static Keyword

    Lecture 27 Pillars of OOPS

    Lecture 28 Pillars of OOPS Part 2

    Lecture 29 Abstract Classes and Methods

    Lecture 30 Interfaces

    Lecture 31 OOPS Practice Question - 1

    Section 4: Design Principles and Patterns

    Lecture 32 DRY

    Lecture 33 KISS and YAGNI

    Lecture 34 S.O.L.I.D Principles

    Lecture 35 Singleton Design Pattern

    Lecture 36 Factory Design Pattern

    Lecture 37 Builder Design Pattern

    Lecture 38 Adapter Design Pattern

    Lecture 39 Bridge Design Pattern

    Lecture 40 Proxy Design Pattern

    Lecture 41 Command Design Pattern

    Lecture 42 Observer Design Pattern

    Lecture 43 Iterator Design Pattern

    Section 5: Data Structure and Algorithms

    Lecture 44 Space and Time Complexity

    Lecture 45 Constant Space Time Complexity

    Lecture 46 Linear Space Time Complexity

    Lecture 47 What is DSA?

    Lecture 48 Logarithmic Space Time Complexity

    Lecture 49 Quadratic Space Time Complexity

    Lecture 50 Quick Recap

    Section 6: Fundamentals

    Lecture 51 Basics of Binary and Decimal Number System

    Lecture 52 Bitwise Operators

    Lecture 53 Left Shift and Right Shift

    Lecture 54 Counting Bits

    Lecture 55 Convert Binary to Decimal

    Lecture 56 Convert Decimal to Binary

    Lecture 57 Reverse and Integer

    Lecture 58 Power of two

    Lecture 59 Compliment Base 10 Integer

    Section 7: Basic Maths

    Lecture 60 Prime Number

    Lecture 61 Sieve of Eratosthenes

    Lecture 62 Factorial of Number

    Section 8: Basics of Recursion

    Lecture 63 Introduction to Recursion

    Lecture 64 X to the Power n

    Section 9: Linear Data Structures

    Lecture 65 Introduction

    Lecture 66 Getting Started with Arrays

    Lecture 67 Understanding Memory Allocation

    Lecture 68 Dynamic Arrays

    Lecture 69 Create Array from Scratch

    Lecture 70 Find Index using Linear Search

    Lecture 71 Removing Elements

    Lecture 72 Min and Max in Array

    Lecture 73 Reverse an Array

    Lecture 74 Adding support to Dynamic Size Arrays

    Section 10: Problem Solving - Arrays

    Lecture 75 Single Number

    Lecture 76 Two Sum

    Lecture 77 Sort Colors

    Lecture 78 Merge Sorted Arrays

    Lecture 79 Move Zeros

    Lecture 80 Intersect Arrays

    Lecture 81 Check if Array is Sorted and Rotated

    Section 11: Linked Lists

    Lecture 82 Introduction

    Lecture 83 Understanding Memory Allocation

    Lecture 84 Working with Built-In LinkedList

    Lecture 85 Types of LinkedList

    Lecture 86 Creating LinkedList from Scratch

    Lecture 87 Traversing LinkedList

    Lecture 88 Reverse LinkedList

    Lecture 89 Delete Node from Beginning

    Lecture 90 Delete Node From End

    Lecture 91 Kth Node From End

    Lecture 92 Traversing Linked List

    Lecture 93 Reverse Linked List

    Section 12: Problem Solving - LinkedList

    Lecture 94 Swap Pairs

    Lecture 95 Reverse in K groups

    Lecture 96 Cyclic Detection

    Lecture 97 Find Middle of LinkedList

    Lecture 98 Detect & Remove Loop

    Lecture 99 Remove Duplicates

    Section 13: Stacks

    Lecture 100 Introduction

    Lecture 101 Working with Stack Class

    Lecture 102 Creating Own Stack

    Lecture 103 Remove Elements from Top

    Lecture 104 Peek Elements

    Lecture 105 Stack Overflow

    Lecture 106 Stack Underflow

    Lecture 107 Creating Stack using LinkedList

    Section 14: Problem Solving Stacks

    Lecture 108 Two Stacks

    Lecture 109 Reverse Strings

    Lecture 110 Valid Parentheses

    Lecture 111 Insert An Element At its bottom

    Lecture 112 Reverse Stack

    Lecture 113 Sort Stack

    Lecture 114 Redundant Brackets

    Lecture 115 Celebrity Problem

    Lecture 116 Min Stack O(n)

    Lecture 117 Min Stack O(1)

    Section 15: Queues

    Lecture 118 Introduction

    Lecture 119 Working with Queues in Java

    Lecture 120 Reverse Queue

    Lecture 121 Creating Own Queue

    Lecture 122 Dequeue from Queue

    Lecture 123 Bug in Queue

    Lecture 124 Fixing Bug in Circular Arrays

    Lecture 125 Building Queue using Stacks

    Lecture 126 Priority Queues

    Lecture 127 Build Priority Queue

    Section 16: Queue Part - 2

    Lecture 128 Design Circular Queue

    Lecture 129 Design Double Ended Queue

    Lecture 130 Reverse Queue using Recursion

    Lecture 131 First Negative Integer in window size K

    Lecture 132 Reverse First K elements of Queue

    Lecture 133 Interleave the first half of queue with second one

    Section 17: HashMaps

    Lecture 134 Introduction

    Lecture 135 HashMap Java

    Lecture 136 Non Repeated Char

    Lecture 137 First Repeated Char

    Lecture 138 Hash Function

    Lecture 139 Open Addressing

    Lecture 140 Double Hashing

    Lecture 141 Building Own HashMap

    Lecture 142 Chaining

    Lecture 143 Getting Data

    Lecture 144 Quadratic Probing

    Lecture 145 Remove Data

    Section 18: Non Linear Data Structures

    Lecture 146 Introduction

    Section 19: Binary Trees

    Lecture 147 Introduction

    Lecture 148 Understanding Binary and Binary Search Trees

    Lecture 149 Building Binary Search Tree

    Lecture 150 Travelling Nodes

    Lecture 151 Find Element in Tree

    Lecture 152 Tree Traversals

    Lecture 153 Pre-Order

    Lecture 154 In-Order

    Lecture 155 Post Order

    Lecture 156 Depth and Height

    Lecture 157 Minimum Value in Tree

    Lecture 158 Equality Checking

    Lecture 159 Validating Binary Tree

    Lecture 160 Nodes at K distance

    Lecture 161 Level Order Traverasal

    Section 20: Mastering Binary Trees

    Lecture 162 Diameter

    Lecture 163 Balanced or Not

    Lecture 164 Sum Tree or Not

    Lecture 165 Zig Zag Traversal

    Lecture 166 Boundary Traversal

    Lecture 167 Vertical Order Traversal

    Lecture 168 Top View

    Lecture 169 Bottom View

    Lecture 170 Right View

    Lecture 171 Diagonal Traversal

    Lecture 172 Sum of nodes of longest path

    Lecture 173 LCA of Binary Tree

    Lecture 174 Minimum Time to Burn Tree

    Lecture 175 Morris Traversal

    Lecture 176 Flatten Binary Tree

    Section 21: Binary Search Trees

    Lecture 177 In-order Predecessor and Succesor

    Lecture 178 Kth Smallest/Largest in BST

    Lecture 179 LCA in BST

    Lecture 180 Normal BST to Balanced

    Lecture 181 Merge Two Binary Trees

    Lecture 182 Largest BST in Binary Tree

    Section 22: AVL Trees

    Lecture 183 Introduction

    Lecture 184 Understanding Rotations

    Lecture 185 LeftRight and RightLeft Rotations

    Lecture 186 Creating an AVL Tree from Scratch

    Lecture 187 Detecting Imbalanced Node

    Lecture 188 Detecting Rotations - 1

    Lecture 189 Detecting Rotations - 2

    Lecture 190 Implementing Left and Right Rotations

    Section 23: Heaps

    Lecture 191 Introduction

    Lecture 192 Heap Insert Logic

    Lecture 193 Creating Heap from Scratch

    Lecture 194 Removing Element Logic

    Lecture 195 Heapify

    Lecture 196 K-th Smallest Element

    Lecture 197 Check if Binary Tree is a Valid Max Heap

    Lecture 198 Smallest Range in K Lists

    Section 24: Tries

    Lecture 199 Introduction

    Lecture 200 Building TRIE from Scratch

    Lecture 201 Autocomplete using TRIE

    Lecture 202 Removing Elements from TRIE

    Lecture 203 Longest Common Prefix

    Section 25: Graphs

    Lecture 204 Introduction

    Lecture 205 Adjacency Matrix and Adjacency List

    Lecture 206 Building Graph from Scratch

    Lecture 207 Traversal - Breadth First Search

    Lecture 208 Traversal - Depth First Search

    Lecture 209 Cyclic Detection in Graph

    Lecture 210 Topological Sort

    Lecture 211 Kahn's Algorithm

    Lecture 212 Refactoring Graphs to OOPS Style

    Lecture 213 Building Directed Weighted Graph

    Lecture 214 Shortest Path Algorithm

    Lecture 215 Shortest Path Algorithm - Code

    Section 26: Undirected Graphs

    Lecture 216 Introduction

    Lecture 217 Cyclic Detection

    Lecture 218 Dijkstra's Algorithm

    Lecture 219 Coding Dijkstra's Algorithm

    Lecture 220 Minimum Spanning Tree

    Lecture 221 Prim's Algorithm

    Lecture 222 Prim's Algorithm Code

    Section 27: Algorithms

    Lecture 223 Recursion

    Lecture 224 Recursion Memory Stack

    Lecture 225 Fibonacci Series

    Lecture 226 Climb Stairs

    Lecture 227 Say Digits

    Lecture 228 Reverse Strings

    Lecture 229 Check for Pallindrome

    Section 28: Mastering Recursion - Part 2

    Lecture 230 Subset / Subsequences of String

    Lecture 231 Phone Keypad Problem

    Lecture 232 Permutation of String

    Section 29: Sorting Algorithms

    Lecture 233 Bubble Sort

    Lecture 234 Selection Sort

    Lecture 235 Insertion Sort

    Lecture 236 Merge Sort

    Lecture 237 Quick Sort

    Section 30: Searching Algorithms

    Lecture 238 Linear Search

    Lecture 239 Binary Search

    Lecture 240 Binary Search Recursive

    Lecture 241 Exponential Search

    Beginners who want to start programming and are looking for a structured, beginner-friendly introduction to Java and core programming concepts.,College and university students studying computer science or related fields who want to build a solid foundation in Java and data structures.,Aspiring software engineers preparing for internships, job interviews, and machine coding rounds at top tech companies.,Java developers looking to refresh or deepen their understanding of core concepts, OOP, and data structures.,Competitive programming enthusiasts who want to improve their grasp of Java's implementation of complex data structures.,Professionals preparing for technical interviews who need a strong revision of linear and non-linear data structures using Java.