Subscribe and Access : 5200+ FREE Videos and 21+ Subjects Like CRT, SoftSkills, JAVA, Hadoop, Microsoft .NET, Testing Tools etc..
Batch
Date: Feb
10th @9:00PM
Faculty: Mr. Kiran
Duration : 45 Days
Venue
:
DURGA SOFTWARE SOLUTIONS at Maitrivanam
Plot No : 202,
IInd Floor ,
HUDA Maitrivanam,
Ameerpet, Hyderabad-500038.
Ph.No: +91 - 9246212143, 80 96 96 96 96
Syllabus:
Name: Mr. Kiran
(19+ Yrs of Exp,.. & Real Time Expert)
DATA STRUCTURES & ALGORITHMS
SESSION-I: DATA STRUCTURES
Introduction
- Introduction to Data Structures
- Data Structures and Real time Applications
Array in Data Structures
- Introduction to Array
- Inserting an element
- Searching an element
- Removing an element
- Other Operations in Array with examples
Problem Solving with DSA
- Remove Duplicates from the Sorted Array
- Rotate an Array by K Positions [Normal Method]
- Rotate an Array by K Positions [Reversal Method]
- And Many More Examples
Linked List
- Linked list Basics
- Inserting a node at the beginning of a linked list
- Inserting a node at the end of Linked list
- Deleting a node in linked list
- Why do we use **head in deleteNode function?
- Searching a node in singly linked list
- Linked list vs Array
Problem Solving with DSA
- Find the Middle Node of the Linked List [Using Loop]
- Find the Middle Node of the Linked List [Using Slow & Fast Pointers]
- Get Nth Node of the Linked List
- Print the Linked List in Reverse Order
- Get Nth node from the last
- Detect the loop in the linked list
- Reverse the linked list and Many More..
Doubly Linked List
- Introduction to Doubly linked list
- Insert a node at beginning of a doubly linked list
- Insert a node at end of a doubly linked list
- Delete a node in a doubly linked list
- Types of Linked Lists
Circular Linked List
- Circular Linked list Basics
- Inserting a node in a beginning of circular linked list
- Inserting a node in the end of circular linked list
- Search a node in circular linked list
- Deleting a node in circular linked list
Stack
- Stack using array and application
- Stack using linked list
- Expression Parsing
Problem Solving with DSA
- Implement two stacks in an array[Method 1]
- Implement two stacks in an array[Method 2]
- Reverse a string using Stack
- Check if the given expression is balanced or no
- Introduction to Infix Prefix Postfix expressions
- Evaluate the postfix expression using Stack
Queue
- Queue using array and application
- Queue using linked list
- Application of Queue
- Operation of Queue
- Circular Queue
- Priority Queue
- Double Ended Queue
Trees
- Binary Search Tree
- Binary Tree basics
- Need for Binary Search Tree
- Binary Search Tree Basics and Node creation
- Binary Recursion
- Insert a node in Binary Search Tree
- Inorder traversal
- Search a node in Binary Search Tree
- Delete a node in Binary Search Tree
- Binary Height Balanced Trees
- AVL Trees
Problem Solving with DSA
- Introduction to selection sort
- Find Minimum Value in BST
- Find Sizeof() BST
- Find Maximum Depth or Height of BST
- Mirror of the Tree
- Check if Binary Tree is a BST
- Check if two BSTs are equal
- Double Tree
Graphs
- Graph Basics Degree of Vertex
- Adjacency matrix representation of graph
- Implementation of Adjacency Matrix
- Adjacency list representation of graph
- Implementation of Adjacency list
- Adjacency matrix Vs Adjacency list representation
Binary Heaps
- Why & What is Binary heap (Priority Queue)
- Constructing Binary Heap – Heapify
- Delete a Maximum element in Binary Heap
SESSION-II: ALGORITHMS
Introduction
- Introduction to Algorithms
- Why should we learn algorithm?
- How to write the algorithms?
- How to analyse the algorithms?
- Time and Space Complexity Analysis - Part 1
- Time and Space Complexity Analysis - Part 2
- Why analysing time complexity is important
- Goal of analysis algorithms
- What is the Running Time Analysis
- How to Compare Algorithms
- What is the Rate of Growth
- Commonly Used Rate of Growth
- Types of Analysis
- Big-O Notation
- Omega Notation
- Theta Notation
- Why is it called Asymptotic Notation
Searching Algorithms
- Linear Search - Implementation, Time & Space complexity
- Binary Search - Implementation, Time & Space complexity
Hashing
- Introduction to hashing and collision
- Collision avoidance using linear probing
- Implement hash table with linear probing - Insert
- Implement hash table with linear probing – Delete
- Implement hash table with linear probing – Search
- Quadratic Probing
- Open Hashing or Separate Chaining
Sorting
- Introduction to selection sort
- Selection sort
- Selection sort time and space complexity
- Introduction to bubble sort
- Bubble sort
- Bubble sort time and space complexity
- Introduction to insertion sort
- Insertion sort
- Insertion sort time and space complexity
- Introduction to Binary Heap
- Heapify
- Heap Sort
- Quick Sort Introduction
- Implementation of Partion function - Quick Sort
- Comparison of Sorting Algorithm
- Non-Comparison Sorting Algorithm
- Merge Sort I
- Merge Sort II
- Implementation of Merge Function
Divide and Conquer Strategy
- Introduction to Divide and Conquer Strategy
- Binary Search using Divide and Conquer Strategy
Optimization Problem
- What is an optimization problem? How to solve it?
Dynamic Programming
- Introduction to Dynamic Programming
- Memoization: Avoid Recomputation Issue in Top-Down Approach
- Implementation of Nth Fibonacci: Bottom-Up approach
- Implementation of Nth Fibonacci: To-Down Approach with Memoization
Greedy Algorithms
- Introduction to Greedy Algorithms
- Minimum Coin Exchange Problem
- Greedy can be Wrong? Yes!
- Implementation of Minimum Coin Exchange Problem
Graph Traversal
- Breadth First Search(BFS)
- Depth First Search (DFS)
Highlights:
- Paper Solving Coding Interview Patterns