[go: up one dir, main page]

0% found this document useful (0 votes)
11 views11 pages

DAA Tutorial Index

The document is a comprehensive tutorial index covering various topics in Data Structures and Algorithms (DAA), including algorithm design techniques, sorting methods, dynamic programming, greedy algorithms, and graph algorithms. It also includes sections on data structures such as arrays, linked lists, stacks, queues, trees, and graphs, along with practical programming examples for each type. Additionally, it addresses complexity theory, approximation algorithms, and string matching techniques.

Uploaded by

suganya.cse
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)
11 views11 pages

DAA Tutorial Index

The document is a comprehensive tutorial index covering various topics in Data Structures and Algorithms (DAA), including algorithm design techniques, sorting methods, dynamic programming, greedy algorithms, and graph algorithms. It also includes sections on data structures such as arrays, linked lists, stacks, queues, trees, and graphs, along with practical programming examples for each type. Additionally, it addresses complexity theory, approximation algorithms, and string matching techniques.

Uploaded by

suganya.cse
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/ 11

DAA Tutorial Index

DAA Tutorial

o DAA Tutorial
o DAA Algorithm
o Need of Algorithm
o Complexity of Algorithm
o Algorithm Design Techniques

Asymptotic Analysis

o Asymptotic Analysis
o Analyzing Algorithm Control Structure

Recurrence

o Recurrence Relation
o Recursion Tree Method
o Master Method

Analysis of Sorting

o Bubble Sort
o Selection Sort
o Insertion Sort

Divide and Conquer

o Introduction

o Max-Min Problem
o Binary Search
o Merge Sort
o Tower of Hanoi

Sorting

o Binary Heap
o Quick Sort
o Stable Sorting

Lower Bound Theory

o Lower bound Theory

Sorting in Linear Time

o Linear Time
o Counting Sort
o Bucket Sort
o Radix Sort

Hashing

o Hashing

o Hash Tables
o Hashing Method
o Open Addressing Techniques
o Hash Function

Binary Search Trees

o Binary Search Trees

Red Black Tree

o Red Black Tree

Dynamic Programming

o Dynamic Programming
o Divide & Conquer Method vs Dynamic Programming
o Fibonacci sequence
o Matrix Chain Multiplication
o Matrix Chain Multiplication Example
o Matrix Chain Multiplication Algorithm
o Longest Common Sequence
o Longest Common Sequence Algorithm
o 0/1 Knapsack Problem

Greedy Algorithm

o Introduction

o Activity Selection Problem


o Fractional Knapsack problem
o Huffman Codes
o Algorithm of Huffman Code
o Activity or Task Scheduling Problem
o Travelling Sales Person Problem
o Dynamic Programming vs Greedy Method

Backtracking

o Backtracking Introduction
o Recursive Maze Algorithm
o Hamiltonian Circuit Problems
o Subset Sum Problems
oN Queens Problems

MST

o MST Introduction
o MST Applications
o Kruskal's Algorithm
o Prim's Algorithm

Shortest Path

o Introduction

o Negative Weight Edges


o Representing Shortest Path
o Relaxation

o Dijkstra's Algorithm
o Bellman-Ford Algorithm
o Single Source Shortest Path in a directed Acyclic Graphs

All-Pairs Shortest Paths

o Introduction

o Floyd-Warshall Algorithm
o Johnson's Algorithm

Maximum Flow

o Flow networks and Flows


o Network Flow Problems
o Ford Fulkerson Algorithm
o Maximum bipartite matching

Sorting Networks

o Comparison Network
o Bitonic Sorting Network
o Merging Network

Complexity Theory

o Complexity Classes
o Polynomial Time Verification
o NP-Completeness

o Circuit Satisfiability
o 3-CNF Satisfiability
o Clique Problem
o Vertex Cover Problem
o Subset-Sum Problem

Approximation Algorithm

o Introduction

o Vertex Cover
o Travelling Salesman Problem
String Matching

o Introduction

o Naive String Matching Algorithm


o Rabin-Karp-Algorithm

o String Matching with Finite Automata


o Knuth-Morris-Pratt Algorithm
o Boyer-Moore Algorithm

Data Structures Index

DS Basics

o DS Tutorial
o DS Introduction
o DS Algorithm
o Ds Asymptotic Analysis
o DS Pointer
o DS Structure

DS Array

o Array

o 2D Array

DS Linked List

o Linked List
o Insertion at beginning
o Insertion at end
o Insertion after specified node
o Deletion at beginning
o Deletion at end
o Deletion after specified node
o Traversing

o Searching

o Doubly Linked List


o Insertion at beginning
o Insertion at end
o Insertion after specified node
o Deletion at beginning
o Deletion at end
o Deletion of node having given data
o Traversing

o Searching

o Circular Linked List


o Insertion at beginning
o Insertion at end
o Deletion at beginning
o Deletion at the end
o Traversing

o Searching

o Circular Doubly List


o Insertion at beginning
o Insertion at end
o Deletion at beginning
o Deletion at the end

DS Stack

o DS Stack
o Array Implementation
o Linked List Implementation

DS Queue

o DS Queue
o Array Implementation
o Linked List Implementation
o Circular Queue

DS Tree

o Tree

o Binary Tree
o Pre-order Traversal
o In-order Traversal
o Post-order Traversal
o Binary Search Tree
o Searching in BST
o Insertion in BST
o Deletion in BST
o AVL Tree
o Insertion in AVL Tree
o LL Rotation
o LR Rotation
o RL Rotation
o RR Rotation
o Deletion in AVL Tree
oB Tree
o B+ Tree
o Red Black Tree

DS Graph

o DS Graph
o Graph Implementation
o BFS Algorithm
o DFS Algorithm
o Spanning Tree
o Prim's Algorithm
o Kruskal's Algorithm

DS Searching

o Linear Search
o Binary Search

DS Sorting

o Bubble Sort
o Bucket Sort
o Comb Sort
o Counting Sort
o Heap Sort
o Insertion Sort
o Merge Sort
o Quick Sort
o Radix Sort
o Selection Sort
o Shell Sort
o Bitonic Sort
o Cocktail Sort
o Cycle Sort
o Tim Sort

Interview Questions

o DS Interview Questions

Singly Linked List Programs

o Program to create and display a singly linked list


o Program to create a singly linked list of n nodes and count the
number of nodes
o Program to create a singly linked list of n nodes and display it in
reverse order
o Program to delete a new node from the beginning of the singly
linked list
o Program to delete a new node from the middle of the singly linked
list
o Program to delete a node from the end of the singly linked list
o Program to determine whether a singly linked list is the palindrome
o Program to find the maximum and minimum value node from a
singly linked list
o Program to insert a new node at the middle of the singly linked list
o Program to insert a new node at the beginning of the singly linked
list
o Program to insert a new node at the end of the singly linked list
o Program to remove duplicate elements from a singly linked list
o Program to search an element in a singly linked list
o Program to sort the elements of the singly linked list
o Program to swap nodes in a singly linked list without swapping data
o Program to swap the last element of the singly linked list from the
first one

Doubly Linked List Programs

o Program to Convert a Given Binary Tree to Doubly Linked List


o Program to Create a Doubly Linked List From a Ternary Tree
o Program to Create a Doubly Linked List of N Nodes and Count the
Number of Nodes
o Program to Create a Doubly Linked List of N Nodes and Display it in
Reverse Order
o Program to Create and Display a Doubly Linked List
o Program to Delete a New Node From the Beginning of the Doubly
Linked List
o Program to Delete a New Node From the End of the Doubly Linked
List
o Program to Delete a New Node From the Middle of the Doubly
Linked List
o Program to Find the Maximum and Minimum Value Node From a
Doubly Linked List
o Program to Insert a New Node at the Beginning of the Doubly Linked
List
o Program to Insert a New Node at the End of Doubly Linked List
o Program to Insert a New Node at the Middle of Doubly Linked List
o Program to Remove Duplicate Elements From a Doubly Linked List
o Program to Rotate Doubly Linked List by N Nodes
o Program to Search an Element in a Doubly Linked List
o Program to Sort the Elements of the Doubly Linked List

Circular Linked List Programs

o Program to Create a Circular Linked List of N Nodes and Count the


Number of Nodes
o Program to Create a Circular Linked List of N Nodes and Display it in
Reverse Order
o Program to Create and Display a Circular Linked List
o Program to Delete a New Node From the Beginning of the Circular
Linked List
o Program to Delete a New Node From the End of the Circular Linked
List
o Program to Delete a New Node From the Middle of the Circular
Linked List
o Program to Find the Maximum and Minimum Value Node From a
Circular Linked List
o Program to Insert a New Node at the Beginning of the Circular
Linked List
o Program to Insert a New Node at the End of the Circular Linked List
o Program to Insert a New Node at the Middle of the Circular Linked
List
o Program to Remove Duplicate Elements From a Circular Linked List
o Program to Search an Element in a Circular Linked List
o Program to Sort the Elements of the Circular Linked List
Tree Programs

o Program to Calculate the Difference Between the Sum of the Odd


Level and Even Level Nodes of a Binary Tree
o Program to Construct a Binary Search Tree and Perform Deletion
and Inorder Traversal
o Program to Convert Binary Tree to Binary Search Tree
o Program to Determine Whether all Leaves are at Same Level
o Program to Determine Whether two Trees are Identical
o Program to Find Maximum Width of a Binary Tree
o Program to Find the Largest Element in a Binary Tree
o Program to Find the Maximum Depth or Height of a Tree
o Program to Find the Nodes Which are at the Maximum Distance in a
Binary Tree
o Program to Find the Smallest Element in a Binary Tree
o Program to Find the Sum of all the Nodes of a Binary Tree
o Program to Find the Total Number of Possible Binary Search Trees
with N Keys
o Program to Implement Binary Tree using the Linked List
o Program to Search a Node in a Binary Tree

You might also like