0% found this document useful (1 vote)
2K views

Cp5151 Advanced Data Structures and Algorithms

This document provides an overview of the topics that will be covered in the course CP5151 Advanced Data Structures and Algorithms. The course covers fundamental data structures and algorithms including hierarchical data structures like binary search trees and B-trees, graphs, algorithm design techniques like dynamic programming and greedy algorithms, and computational complexity topics like NP-completeness. The course materials are drawn from the textbook "Introduction to Algorithms" by Cormen et al. and will include topics like binary search trees, graph search algorithms, minimum spanning trees, shortest paths problems, dynamic programming, greedy algorithms, and NP-completeness.

Uploaded by

Rame K
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 (1 vote)
2K views

Cp5151 Advanced Data Structures and Algorithms

This document provides an overview of the topics that will be covered in the course CP5151 Advanced Data Structures and Algorithms. The course covers fundamental data structures and algorithms including hierarchical data structures like binary search trees and B-trees, graphs, algorithm design techniques like dynamic programming and greedy algorithms, and computational complexity topics like NP-completeness. The course materials are drawn from the textbook "Introduction to Algorithms" by Cormen et al. and will include topics like binary search trees, graph search algorithms, minimum spanning trees, shortest paths problems, dynamic programming, greedy algorithms, and NP-completeness.

Uploaded by

Rame K
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/ 4

CP5151 ADVANCED DATA

STRUCTURES AND ALGORITHMS


CP5151 Advanced Data Structures and Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, ―Introduction to
Algorithms‖, Third Edition, Prentice-Hall, 2011

UNIT I ROLE OF ALGORITHMS IN COMPUTING

Algorithms – Algorithms as a Technology- Insertion Sort – Analyzing Algorithms – Designing


Algorithms- Growth of Functions: Asymptotic Notation – Standard Notations and Common Functions-
Recurrences: The Substitution Method – The Recursion-Tree Method

1 The Role of Algorithms in Computing 1


1.1 Algorithms 1
1.2 Algorithms as a technology 7
2 Getting Started 12
2.1 Insertion sort 12
2.2 Analyzing algorithms 19
2.3 Designing algorithms 25
3 Growth of Functions 39
3.1 Asymptotic notation 39
3.2 Standard notations and common functions 49
4.3 The substitution method for solving recurrences 79
4.4 The recursion-tree method for solving recurrences 84

UNIT II HIERARCHICAL DATA STRUCTURES

Binary Search Trees: Basics – Querying a Binary search tree – Insertion and Deletion- Red-Black trees:
Properties of Red-Black Trees – Rotations – Insertion – Deletion -B-Trees: Definition of Btrees – Basic
operations on B-Trees – Deleting a key from a B-Tree- Fibonacci Heaps: structure – Mergeable-heap
operations- Decreasing a key and deleting a node-Bounding the maximum degree.

12 Binary Search Trees 110


12.1 What is a binary search tree? 110
12.2 Querying a binary search tree 113
12.3 Insertion and deletion 118
13 Red-Black Trees 132
13.1 Properties of red-black trees 132
13.2 Rotations 136
13.3 Insertion 139
13.4 Deletion 147
18 B-Trees 163
18.1 Definition of B-trees 167
18.2 Basic operations on B-trees 170
18.3 Deleting a key from a B-tree 178
19 Fibonacci Heaps 184
19.1 Structure of Fibonacci heaps 186
19.2 Mergeable-heap operations 189
19.3 Decreasing a key and deleting a node 197
19.4 Bounding the maximum degree 202
UNIT III GRAPHS

Elementary Graph Algorithms: Representations of Graphs – Breadth-First Search – Depth-First Search –


Topological Sort – Strongly Connected Components- Minimum Spanning Trees: Growing a Minimum
Spanning Tree – Kruskal and Prim- Single-Source Shortest Paths: The Bellman-Ford algorithm – Single-
Source Shortest paths in Directed Acyclic Graphs – Dijkstra‘s Algorithm; All-Pairs Shortest Paths:
Shortest Paths and Matrix Multiplication – The FloydWarshall Algorithm;

22 Elementary Graph Algorithms 210


22.1 Representations of graphs 210
22.2 Breadth-first search 215
22.3 Depth-first search 224
22.4 Topological sort 233
22.5 Strongly connected components 236
23 Minimum Spanning Trees 245
23.1 Growing a minimum spanning tree 246
23.2 The algorithms of Kruskal and Prim 252
24 Single-Source Shortest Paths 264
24.1 The Bellman-Ford algorithm 272
24.2 Single-source shortest paths in directed acyclic graphs 276
24.3 Dijkstra’s algorithm 279
25 All-Pairs Shortest Paths 305
25.1 Shortest paths and matrix multiplication 307
25.2 The Floyd-Warshall algorithm 314

UNIT IV ALGORITHM DESIGN TECHNIQUES

Dynamic Programming: Matrix-Chain Multiplication – Elements of Dynamic Programming – Longest


Common Subsequence- Greedy Algorithms: An Activity-Selection Problem – Elements of the Greedy
Strategy- Huffman Codes.

15 Dynamic Programming 329


15.2 Matrix-chain multiplication 340
15.3 Elements of dynamic programming 348
15.4 Longest common subsequence 360
16 Greedy Algorithms 384
16.1 An activity-selection problem 385
16.2 Elements of the greedy strategy 393
16.3 Huffman codes 398

UNIT V NP COMPLETE AND NP HARD

NP-Completeness: Polynomial Time – Polynomial-Time Verification – NP- Completeness and


Reducability – NP-Completeness Proofs – NP-Complete Problems

34 NP-Completeness 421
34.1 Polynomial time 426
34.2 Polynomial-time verification 434
34.3 NP-completeness and reducibility 440
34.4 NP-completeness proofs 451
34.5 NP-complete problems 459

You might also like