0% found this document useful (0 votes)
28 views

Data Structures Algorithms in Java

Uploaded by

hashikkamal7
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Data Structures Algorithms in Java

Uploaded by

hashikkamal7
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Detailed Curriculum

Introduction to Programming

Topics Sub-topics Details

Introduction to flowcharts, Decision making using flowcharts, Loops,


Flowcharts Example problems

First program, Variables and data types, Taking input, How data is
Variables and Data types
Basics of Programming stored in memory, Arithmetic Operators

Introduction to If else, Relational and logical operators, Nested


Conditional statements conditionals

While loops, Flow of execution of statements in while loop, Example


While loops problems using while loop

Introduction to patterns, Basic Patterns, Square Patterns, Triangular


Patterns Patterns, Character Patterns, Reverse Triangle, Inverted patterns,
Loops and Functions Isosceles triangles

For loops For loops, Break and Continue, increment - decrement operators

Functions Introduction to functions, Working of function calling, Variables and its


scope, Pass by value

Introduction to arrays,
Introduction to arrays How arrays are stored in memory, Passing arrays to functions
Arrays
Searching and Sorting Understanding Binary Search, Selection sort, Bubble sort, Insertion sort,
Merging two sorted arrays

Strings Introduction to strings, storage of strings and their inbuilt functions


Strings and 2D Arrays
2D Arrays 2D arrays, Storage of 2D arrays, Example problems using 2D Arrays
Data Structures

Topics Sub-topics Details

Introduction to recursion, Principle of mathematical


Recursion induction, Fibonacci numbers, Recursion using arrays,
Recursion using strings, Recursion using 2D arrays
Problem Solving
Techniques Order complexity analysis, Theoretical complexity
analysis, Time complexity analysis of searching and
Time and space complexity recursive algorithms, Theoretical space complexity, Space

Introduction to backtracking, Problems based on backtracking:


Backtracking Rat in the maze, Word search, and N-Queens.

Introduction to oops, Creating objects, Getters, and setters,


Basics of OOP Constructors and related concepts, Inbuilt constructor and
destructor, Example classes
Object-oriented
programming Static members, Function overloading and related
Advance concepts of concepts, Abstraction, Encapsulation, Inheritance,
Polymorphism, Virtual functions, Abstract classes,
OOP Exception handling

Introduction to linked list, Inserting node in linked list, Deleting


Linked lists node from linked list, Midpoint of linked list, Merge two sorted
linked lists, merge sort of a linked list, Reversing a linked list
Linear Data Structures
Introduction to stacks, Stack using arrays, Dynamic Stack class,Stack
Stacks and Queues using linked list, Inbuilt stack, Queue using arrays, Dynamic queue
class, Queue using linked list, Inbuilt queue

Generic Trees Introduction to Trees, Making a tree node class, Taking a tree as input
and printing, Tree traversals, Destructor for tree node class

Introduction to Binary Trees, Taking a binary tree as input and printing,


Trees Binary Trees Binary Tree traversals, Diameter of binary tree

Binary Search Trees Introduction to Binary Search Trees, Searching a node in BST, BST class,
Inserting and Deleting nodes in BST, Types of balanced BSTs
Topics Sub-topics Details

Introduction to Priority Queues, Ways to implement priority queues,


Introduction to heaps, Introduction to Complete Binary Trees and its
Priority Queues implementation, Insert and Delete operations in heaps, Implementing
priority queues, Heap sort, Inbuilt Priority Queue

Introduction to Hashmaps, Inbuilt Hashmap, Hash


functions, Collision handling, Insert and Delete operation
Hashmaps implementation in hashmap, Load factor, Rehashing
Advanced
Data Structures
Introduction to Tries, Making a Trie Node class, Insert,
Tries and Huffman Coding Search and Remove operation implementation in Tries,

Introduction to Graphs, Graph Terminology, Graph implementation,


Graphs Graph Traversals (DFS and BFS), Weighted and Directed Graphs,
Minimum Spanning Trees, Cycle Detection in Graphs, Kruskal's
algorithm, Prim's Algorithm, Dijkstra's algorithm

Introduction to Memoization, Introduction to Dynamic


Introduction to Programming, Fibonacci numbers using recursion, memoization
Dynamic Programming and dynamic programming
Dynamic Programming

Longest Common Subsequence (LCS) using recursion, memoization


Applications of Dynamic and dynamic programming, Edit distance using recursion,
memoization and dynamic programming, Knapsack problem using
recursion, memoization and dynamic programming

You might also like