×

Search anything:

# Design and Analysis of Algorithms (DAA) [Syllabus]

#### Algorithms Get this book -> Problems on Array: For Interviews and Competitive Programming

This article presents the detailed Syllabus of the subject "Design and Analysis of Algorithms (DAA)" also known as "Data Structure and Algorithms (DSA)". This subject is taught in Bachelor of Science or Bachelor of Technology course in Computer Science. This is the most important subject in Computer Science.

1. Syllabus of "Design and Analysis of Algorithms"

This article includes the complete list of Algorithm and Data Structure topics. ### Syllabus of "Design and Analysis of Algorithms"

Data Structure and Algorithm (DSA) Syllabus
1. Introduction to Data Structure
1.1Introduction to Data Structures
Definition, Examples
insert, delete, search, types of Linked List
push, pop, types of Stack
enqueue, deque, types of Queue
2. Introduction to Algorithm + Sorting
2.1Introduction to Algorithms
2.2Asymptotic analysis
Big-O, Big-Theta and other notations, worst,
average and best case analysis
2.3Euclid's GCD Algorithm
Basic and Extended Algorithms
2.4Primality testing
SQRT(N) test, Fermat primality test, Miller Rabin test,
Sieve of Eratosthenes, Sieve of Atkin
2.5Search Algorithms
Linear Search, Binary Search, Interpolation Search
2.6Basic Sorting Algorithms
Selection Sort, Insertion Sort, Bubble Sort, Merge Sort,
Quick Sort, Heap Sort, Time Complexity analysis of Sorting
Counting Sort, Radix Sort, Bucket Sort
3. Tree Data Structures
Basic terms: Complete BT, Balanced, Unbalanced BT,
Insert, Delete, Traverse, Inorder, Postorder, Preorder
AVL Tree, Red Black Tree, 2-3 Tree, AA Tree,
Scapegoat Tree, Splay Tree, Treap
Applications to String problems
B Tree, B+ Tree
Min Heap, Max Heap, Priority Heap, Fibonacci Heap
Segment Tree, Fenwick Tree, Cartesian Tree
4. Analysis of Algorithms
4.1Complexity Notations
Big-O, Big-Omega, Big-Theta and others
4.2Complexity Analysis techniques
Master theorem, Substitution Method, Iteration Method
4.3Time Complexity Bound for Sorting
Comparison Sort, Non-comparison sort
4.4Time Complexity Bound for Searching
Linear Search, Binary Search, Interpolation Search
4.5Complexity Classes
P class, NP-Complete, NP-Hard, P=NP problem
5. Graph Algorithms
5.2Shortest Path Algorithms
Dijkstra's algorithm, Floyd-Warshall Algorithm, Bellman-Ford Algorithm,
Johnson Algorithm
5.3Minimum Spanning Tree
Kruskal's Algorithm, Boruvka's Algorithm, Prim's Algorithm, Cheriton Tarjan's Algorithm
5.4Graph Coloring Algorithm
Greedy Algorithm, Welsh Powell Algorithm, Wigderson Algorithm
5.5Cut edge, Cut node
6. Other Algorithmic Techniques
6.1Dynamic Programming
Dice Throw Problem, Assembly Line Scheduling, Subset Sum Problem, Longest Palindromic
Subsequence, Word Break Problem, Word Wrap Problem
6.2Greedy Algorithms
Activity Selection Problem, Knapsack problem + variants,
Bin Packing problem, Weighted Job scheduling
6.3Backtracking
8 Queens Problem, Knight's Tour Problem
6.4Divide and Conquer
Closest Pair of Points, Karatsuba Algorithm, Median of Medians, Meet In Middle Technique

With this detailed syllabus, you know that topics you must have a good hold on to ace your "Design and Analysis of Algorithms" examination in B. Tech/ B. Sc course work. #### Ue Kiao, PhD

Ue Kiao is a Technical Author and Software Developer with B. Sc in Computer Science at National Taiwan University and PhD in Algorithms at Tokyo Institute of Technology | Researcher at TaoBao

Design and Analysis of Algorithms (DAA) [Syllabus]