Вы находитесь на странице: 1из 4

Birla Institute of Technology & Science, Pilani

K. K. Birla Goa Campus


Second Semester 2016-2017
Course Handout (Part-II)

In addition to part I this portion gives further specific details regarding the course Arti-
ficial Intelligence.

Course Details
Course Title : Data Structures and Algorithms
Course Number : CS F211
Instructor-In-charge : Dr. A Baskar (abaskar@goa.bits-pilani.ac.in)
Instructor : Ramprasad S. Joshi (rsj@goa.bits-pilani.ac.in)
Ashu Sharma (p2012011@goa.bits-pilani.ac.in)

Objective
The primary goals of the course are

• Introduce mathematical and experimental techniques to analyze algorithms

• Introduce linear and non-linear data structures and best practices to choose appro-
priate data structure for a given application

• Overview of algorithm design methods such as the greedy method, divide and con-
quer, dynamic programming, backtracking, and branch and bound

Scope
The course covers design, implementation and applications of data structures including
trees and graphs, algorithm design techniques using examples from sorting, searching, graph
theory,networking and number theory. Discussion of designs will include complexity issues
and implementation issues. Implementation mechanisms including Object Oriented tech-
niques will be practiced by the students while implementing the design. The scope of the
implementations will include coding as well as testing and performance evaluation.

Text book
(T1 ) Introduction to Algorithms, TH Cormen, CE Leiserson, RL Rivest, C Stein, Third Edi-
tion, MIT Press.

1
References
R 1 R. G. Dromey. How to Solve it by Computer, Prentice-Hall International.

R 2 Brian Kernighan and Robert Pike. The Practice of Programming, Addison-Wesley.

R 3 Algorithm Design, Jon Kleinberg, Eva Tardos, First Edition, Pearson.

R ∗ Use any programming manuals and programming language references for the labs.
Refer to GNU/FSF documentation of gcc, gcj, python/ipython, gdb, make, bash, gnu-
plot, octave, etc.

Course Plan
Modules

Module
Topic Objectives
No
I Introduction Introducing goals and motivation.
Analyzing algorithms using recurrence relations
II Algorithm Analysis
and expressing it using asymptotic notation.
Lists(Static and dynamic), Random v/s sequential
III Linear Structures
access, Restricted access lists
To learn different algorithms for sorting their de-
IV Sorting
sign, efficiency and limitations
To learn the design and implementation of search-
V Searching and Hashing ing techniques and storage structures suitable for
efficient searching, Hashing and Hash tables
Non-Linear Structures – To learn the use of trees for: searching, captur-
VI Trees and Text Process- ing non-linear acyclic relations, representing re-
ing cursive data, Tries
To learn the use of graphs for capturing non-linear
Non-Linear Structures –
VI relations and to learn the design of algorithms for
Graphs
computing properties of those relations.

2
Lecture Schedule

Module
Lecture Topics References
No
Analysis of Algorithms –Time and Space Complexity,
2–5 II
Asymptotic Notation
Linear data structures Lists, Array implementation of
6–8 III Lists, Access Restricted Lists (Stacks and Queues); T1 2.1
Searching and Order Queries.
Insertion Sort, Quick Sort –Design Elementary Analysis;
9–12 IV Comparison of Sorting techniques: Online/Offline; Ran- T1 4.3
dom Access / Sequential Access, Stability.
Quick Sort –Analysis; Randomization; Performance; Im-
13-14 IV T1 4.3.1
provements
Lower bounds on Comparison Sorting; Sorting by Distri-
15–16 IV T1 4.4 & 4.5
bution (Bucket & Radix); Searching
Hash Tables: Approaches; Implementation Issues; Com-
17–19 V T1 2.5
plexity and Efficiency
Generalized Trees –Traversals and applications. Binary
20,21 VI T1 3.1
Trees, Search Trees (BST);
22,23 VI Balancing of Search Trees –Red Black Tree T1 3.2
24,25 VI Heaps: Binary Heap –Priority Queues; Heap Sort T1 2.4
Limitations of Divide-and-Conquer (or top-down ap-
26,27 VI R1 16.1; 16.2
proach) and Introducing Dynamic and Greedy approach
Text Processing –Basic Algorithms and Data Structures
T1
28–29 VI (e.g. Tries, Huffman Coding, String search / pattern
9.1,9.2,9.3
matching).
30–32 VII Applications of BFS & DFS T1 6.3
Path Computations –Single Source Shortest Paths: Dijk-
33–35 VII T1 7.1; 7.2
stras algorithm; All pairs shortest Paths: Floyd-Warshall’s
Minimal Spanning Trees –Greedy Algorithms (Kruskals &
36–38 VII T1 7.3
Prims)
39 Summary and Review

3
Evaluation Scheme
No Component Weightage Date Time Remarks
1 Test 1 20% 21/02/2017 8.30 AM – 9.30 AM Closed Book
2 Test 2 15% 28/03/2017 8.30 AM – 9.30 AM Closed Book
3 Comprehensive 45% 3/05/2017 9 AM – 12 Noon Partly
Open Book
# #
4 Evaluated Labs 20% During - Open All
Lab Sessions

#
There will be N evaluated announced lab sessions. Prior announcement will be made in
the class and the course site on Photon.

Chamber Consultation
Monday & Wednesday(11 AM – 1 PM)

Notices
The course site on Photon will be used and some announcements will be made in the class
during lectures.

Make-up Policy
• Make-up shall be granted only in genuine cases based on individual’s need and cir-
cumstances.

• No marks will be awarded without make-up for that component

• No make-up for evaluated lab components under any condition. Out of N number of
evaluated lab components, best (N-1) will be considered for final grading.

Instructor-In-Charge
CSF407

Вам также может понравиться