0% found this document useful (0 votes)
380 views8 pages

Full JAVA+DSA Syallabus

The document outlines a comprehensive syllabus for a Java and Data Structures and Algorithms (DSA) course, covering topics from basic to advanced levels. Key areas include Java fundamentals, data structures like arrays, linked lists, and trees, as well as algorithms for searching, sorting, and dynamic programming. Additional focus is given to object-oriented programming concepts, complexity analysis, and practical coding techniques.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
380 views8 pages

Full JAVA+DSA Syallabus

The document outlines a comprehensive syllabus for a Java and Data Structures and Algorithms (DSA) course, covering topics from basic to advanced levels. Key areas include Java fundamentals, data structures like arrays, linked lists, and trees, as well as algorithms for searching, sorting, and dynamic programming. Additional focus is given to object-oriented programming concepts, complexity analysis, and practical coding techniques.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Full JAVA+DSA

Syallabus
Basic to Advanced
Level

1. Introduction to Java

➔ Introduction
➔ How it works
➔ Setup Installation
➔ Input and Output in Java

2. Conditionals & Loops in Java

➔ if-else
➔ loops
➔ Switch statements
➔ Data-types
➔ Coding best practices

3. Functions

➔ Introduction
➔ Scoping in Java
➔ Shadowing
➔ Variable Length Arguments
➔ Overloading

4. Arrays

➔ Introduction
➔ Memory management
➔ Input and Output
➔ ArrayList Introduction

5. Searching

➔ Linear Search
➔ Binary Search
➔ Modified Binary Search
➔ Binary Search on 2D Arrays

6. Sorting

➔ Insertion Sort
➔ Selection Sort
➔ Bubble Sort
➔ Cyclic Sort
➔ Count Sort
➔ Radix Sort

7. Pattern questions
8. Strings
➔ Introduction
➔ How Strings work
➔ Comparison of methods
➔ Operations in Strings
➔ StringBuilder in Java
➔ StringBuffer
9. Maths for DSA

➔ Introduction
➔ Complete Bitwise Operators
➔ Range of numbers
➔ Prime numbers
➔ Sieve of Eratosthenes
➔ Newton's Square Root Method
➔ Factors
➔ Modulo properties
➔ Number Theory
➔ HCF / LCM
➔ Euclidean algorithm
➔ BigInteger & BigDecimal

10. Recursion

➔ Introduction
➔ Flow of recursive programs - stacks
➔ Why recursion?
➔ Tree building of function calls
➔ Tail recursion

11. Sorting

➔ Merge Sort
➔ Quick Sort

12. Backtracking

➔ N-Queens
➔ N-Knights
➔ Sudoku Solver
➔ Maze problems
➔ Recursion String Problems
➔ Recursion Google, Amazon Questions
➔ Recursion Array Problems
➔ Recursion Pattern Problems
➔ Subset Questions

13. Space and Time Complexity Analysis

➔ Introduction
➔ Comparisons of various cases
➔ Solving Linear Recurrence Relations
➔ Solving Divide and Conquer Recurrence Relations
➔ Big-O, Big-Omega, Big-Theta Notations
➔ Little Notations
➔ Get equation of any relation easily - best and easiest approach
➔ Complexity discussion of all the problems we do
➔ Space Complexity
➔ NP-Completeness Introduction

14. Object Oriented Programming

➔ Introduction
➔ Classes & its instances
➔ this keyword in Java

Properties

➔ Inheritance
➔ Abstraction
➔ Polymorphism
➔ Encapsulation

➔ Overloading & Overriding


➔ Static & Non-Static
➔ Packages
➔ Access Control
➔ Interfaces
➔ Abstract Classes
➔ Annotations
➔ Singleton Class
➔ final, finalize, finally
➔ Object Cloning
➔ Object Class
➔ Generics
➔ Exception Handling
➔ Collections Framework
➔ Vector Class
➔ Lambda Expression
➔ Enums

15. Linked List

➔ Introduction
➔ Singly + Doubly + Circular LinkedList
➔ Fast and slow pointer
➔ Cycle Detection
➔ Reversal of LinkedList
➔ Linked List + Recursion

16. Stacks & Queues

➔ Introduction
➔ Push efficient
➔ Pop efficient
➔ Queue using Stack and vice versa
➔ Circular Queue
➔ Interview problems

17. File handling


18. Trees
Introduction
➔ Binary Trees
➔ Binary Search Trees

Interview questions
➔ DFS
➔ BFS
➔ AVL Trees
➔ Segment Tree
➔ Fenwick Tree / Binary Indexed Tree

19. Heaps
Introduction

➔ Theory
➔ Priority Queue
➔ Heapsort
➔ Two Heaps Method
➔ k-way merge
➔ Top k elements
➔ Interval problems

20. HashMap

Introduction
➔ Theory - how it works
➔ Comparisons of various forms
➔ Limitations and how to solve
➔ Map using LinkedList
➔ Map using Hash
➔ Chaining
➔ Probing

➔ Huffman Coding
➔ Karp-Rabin Strng matching algorithm
21. Subarray Questions: Sliding window, Two Pointer,
Kadane's Algorithm
22. Graphs

Introduction


➔ BFS
➔ DFS
➔ Working with graph components
➔ Minimum Spanning Trees
➔ Kruskal Algorithm
➔ Prims Algorithm
➔ Dijkstra’s shortest path algorithm
➔ Topological Sort
➔ Bellman ford
➔ A* pathfinding Algorithm

23. Dynamic Programming

➔ Introduction
➔ Recursion + Recursion DP + Iteration + Iteration Space Optimized
➔ Complexity Analysis
➔ 0/1 Knapsack
➔ Subset Questions
➔ Unbounded Knapsack
➔ Subsequence questions
➔ String DP
➔ Greedy Algorithms
➔ Trees

Resources
1. Link
2. Link

You might also like