Home > Research Groups > Algorithms and Complexity > Teaching > Guest Lectures on Data Structures and Algorithms

Guest Lectures on Data Structures and Algorithms

Talks given by
Prof. Surender Baswana
(Department of Computer Science and Engineering, IIT Kanpur),
currently Humboldt Fellow at Paderborn University

All talks take place in F1 110 at 1pm.

 

Talk 1: (Fr., Jan. 11th) An amazing but less known world of data structures
Abstract:
From most of the courses or textbooks on data structures and algorithms, unfortunately, one gets the following picture/impression about the data structures.
1. The role of data structures is confined only to searching and sorting.
2. Either the data structures are trivial (stacks, queues, Binary heaps, Red-Black trees),  or they are too complex and impractical (Fibonacci Heaps).
3. Most of the data structures lack the depth, richness, and elegance compared to the algorithms (e.g. Max-Flow).
The above picture/impression is totally wrong. Indeed, there are many simple and elegant data structures for various fundamental graph problems. These data structures achieve amazing, rather unbelievable, time complexities. In this talk, we shall discuss a few of such data structures.

(Slides in Powerpoint)

Important note for this talk:
I. The talk will be self contained. It will be followed by everyone who has done a course on data structures. However, the contents of the talk will be quite advanced.
2. If you feel that majority of the data structures lack any elegance or depth, you must attend the talk.
3. If you already know about dynamic trees (s-t tree and Euler Tour tree), you may skip this talk.
4.The talk is the first talk in the series of talk on dynamic algorithms. This talk will cover the fundamental data structures that helped in designing efficient dynamic algorithms.

Talk 2 (Fr., Jan. 18th)  
: Dynamic graph algorithms - I
Abstract: In this talk we shall discuss the model of dynamic graph algorithms. We shall also discuss the current state of the art for some well known problems in this area. We shall also discuss a few
simple dynamic algorithms. We shall also discuss a few open problems in this area.

(Slides in Powerpoint)

Talk 3 (Fr., Jan. 25th): Dynamic graph algorithms - II
Abstract: In this talk we shall discuss a randomized algorithm for maintaining connectivity in an undirected graph with poly-logarithmic update and query time. This result by Henzinger and King [J. ACM 46(4): 502-516 (1999)] is a milestone in the area of dynamic graph algorithms. This result also demonstrates the power of randomization in the area of dynamic graph algorithms.

(Slides in Powerpoint)

Talk 4 (Fr., Febr. 1st): Dynamic graph algorithms - III
Abstract: Depth First Search (DFS) is a fundamental technique to traverse a graph and is used for solving a variety of graph problems. A DFS traversal produces a rooted tree called a DFS tree. In this talk we shall discuss the dynamic algorithms for maintaining a DFS tree. We shall also discuss a few open problems on dynamic DFS.

(Slides in Powerpoint)