0% found this document useful (0 votes)
4 views

1 IntroClass

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

1 IntroClass

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

CSC303: Algorithm Design and Analysis I

Audience: B. Tech. (CSE), Semester III, Section X

Instructors

Dr. Mamata Dalui


Assistant Professor
Department of Computer Science and Engineering
National Institute of Technology Durgapur

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Disclaimer
• The study materials/presentations used in this course are solely
meant for academic purposes
• The study materials presented/ distributed can be reused,
reproduced, modified, and distributed by others for academic
purposes only with proper acknowledgements

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Course outcomes
After completing the course, students will be able to
• CO1: Understand the fundamental concepts of data structures and
algorithms as well as their design paradigms.
• CO2: Apply different algorithmic ideas efficiently to solve new
problems.
• CO3: Efficiently analyze the time complexities of the data structures
and algorithms.
• CO4: Evaluate/recognize the state-of-the-art about the data
structures and algorithms.
• CO5: Create algorithmic solutions for real-life applications.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Syllabus / Topics to be covered
• Module 1: Introduction and basic concepts
 Algorithm, Asymptotic notations (big-Oh, big-Omega, big-Theta, small-oh) and their
significance, introduction to RAM model of computation, complexity (Time
Complexity, Space Complexity) analysis of algorithms, worst case and average case.
Solving Recurrences – Substitution method, Recurrence tree method and Master
Method.

• Module 2: Amortized complexity analysis


 aggregate analysis, accounting method and potential method. Examples: storage
allocation problem, binary counting problem.
• Module 3: Sorting
 Comparison-based sorting: quick sort, merge sort, and their worst and average case
analysis. Sorting in linear time: Radix sort, Count Sort.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Syllabus / Topics to be covered
• Module 4: Heaps
 Heap, applications of heaps: priority queue and heap sort, etc.

• Module 5: Lower bound


 Lower bound for a problem. Computing the lower bound for sorting
(comparison based sorting) and computing the lower bound for computing
convex hull using the lower bound for sorting problem.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Syllabus / Topics to be covered
• Module 6: Search trees
 Binary search tree, Balanced binary search tree, AVL tree, Red Black tree, M-
way tree, M-way search tree, B tree, B+ Tree.

• Module 7: Hashing
 Hash functions, Collision, Collision resolution techniques: linear probing,
quadratic probing, double hashing, chaining, Rehashing. Hash Function for
Hierarchical Memory Model.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Syllabus / Topics to be covered
• Module 8: Divide and Conquer Problem
 Multiplication of two n-bit integers, Strassen’s Matrix Multiplication problem,
Closest pair of points, linear time median finding algorithm, Convex hull and
its computation.

• Module 9: Greedy Algorithm


 Greedy algorithms and their correctness proof: Interval scheduling problem,
Interval partitioning problem, Minimizing the Lateness of Intervals problem,
Fractional Knapsack Problem.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Syllabus / Topics to be covered
• Module 10: Dynamic Programming
 Matrix Chain Multiplication, 0-1 Knapsack Problem, Longest Common
Subsequence Problem

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Assessments
• Continuous assessment 1:
Method : Assignment, test and/or Quiz
Full Marks: 15
Schedule: Schedule will be notified latter
• Mid Term:
Method : Written Test
Full Marks: 25
Schedule: To be scheduled in the month of September
[Exact schedule will be notified latter]

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Assessments
• End-term Examination:
Method : Written Test
Full Marks: 60
Schedule: To be scheduled in November
[Exact schedule will be notified latter]

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Books and other reference materials
• Text Books:
• 1. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction
to Algorithms, by Prentice Hall.
• 2. Kleinberg and Eva Tardos. Algorithm Design. Addison-Wesley 2005
ISBN-13: 978-0321295354.
• 3. E. Horowitz, S. Sahni, S. Anderson-Freed, “Fundamentals of Data
Structures in C”, Universities Press; Second edition (2008).
• 4. A. V. Aho, J. D. Ullman and J. E. Hopcroft, “Data Structures and
Algorithms”, Addition Wesley.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)


Books and other reference materials
• Reference Books:
• 1. Knuth, Donald E. The Art of Computer Programming. 3rd ed. Vols 1&2.
Reading, MA:
• Addison-Wesley, 1997. ISBN: 0201896834. ISBN: 0201896842. ISBN: 0201896850.
• 2. Michael T. Goodrich and Roberto Tamassia, Algorithm Design: Foundations,
Analysis, and Internet Examples, Second Edition, Wiley, 2006.
• 3. Sanjoy Dasgupta, Christos H. Papadimitriou and Umesh V. Vazirani, Algorithms,
Tata McGraw-Hill, 2008.
• 4. Y. Langsam, M. J. Augenstein and A. N. Tanenbaum, "Data Structures using C
and C++", Pearson, 2006.
• 5. R. F. Gilberg and B. A. Forouzan, "Data Structures: A pseudocode approach with
C", 2nd Edition, CENGAGE Learning.

CSC303 Dept of CSE, NIT Durgpur 2024-25 (Odd)

You might also like