Design and Analysis of Algorithms

B.Sc · Semester 6 — Algorithm complexity, divide and conquer, greedy methods, dynamic programming, backtracking and graph algorithms.

6 MonthsDuration 1Subject 5Chapters OnlineTests & result

Your roadmap · आपका रोडमैप

  1. 1
    Admission & first meetingप्रवेश और पहली मुलाकात

    Enquire at your nearest NDSS centre, meet the teacher, fix the batch time and get your study material.

  2. 2
    Part 1 of the syllabusपाठ्यक्रम भाग 1

    Unit-wise coaching with notes and doubt classes.

    Unit 1: Introduction and Complexity AnalysisUnit 2: Divide and ConquerUnit 3: Greedy Method
  3. 3
    Part 2 of the syllabusपाठ्यक्रम भाग 2

    Unit-wise coaching with notes and doubt classes.

    Unit 4: Dynamic ProgrammingUnit 5: Backtracking, Branch and Bound, NP
  4. 4
    Unit tests & assignmentsयूनिट टेस्ट

    Regular tests in the university / board pattern.

  5. 5
    Semester 6 exam (university / board)विश्वविद्यालय / बोर्ड परीक्षा

    Previous papers and full revision before the exam.

  6. 6
    Online tests & resultऑनलाइन टेस्ट और रिज़ल्ट

    Take the tests online; your marks and result show in your student login and at the centre.

Syllabus · पाठ्यक्रम

1 subject · 5 chapters · 23 topics

01Unit 1: Introduction and Complexity Analysis 5 topics
  1. Algorithm and its specification
  2. Asymptotic notations: Big-O, Omega, Theta
  3. Best, average and worst case
  4. Recurrence relations: substitution and recursion tree
  5. Master theorem
02Unit 2: Divide and Conquer 4 topics
  1. Binary search
  2. Merge sort and quick sort
  3. Finding maximum and minimum
  4. Strassen's matrix multiplication
03Unit 3: Greedy Method 5 topics
  1. Fractional knapsack
  2. Job sequencing with deadlines
  3. Huffman coding
  4. Minimum spanning tree: Prim and Kruskal
  5. Dijkstra's shortest path
04Unit 4: Dynamic Programming 5 topics
  1. Principle of optimality
  2. 0/1 knapsack
  3. Longest common subsequence
  4. Matrix chain multiplication
  5. Floyd-Warshall and Bellman-Ford
05Unit 5: Backtracking, Branch and Bound, NP 4 topics
  1. N-queens and sum of subsets
  2. Graph colouring
  3. Branch and bound: travelling salesman
  4. P, NP, NP-hard and NP-complete

About this course

You will be able to

  • Analyse algorithms using asymptotic notations and solve recurrences with the master theorem
  • Apply divide and conquer to searching, sorting and matrix multiplication
  • Solve problems such as knapsack, job sequencing, Huffman coding, MST and shortest paths with greedy methods
  • Solve 0/1 knapsack, LCS, matrix chain multiplication and all-pairs shortest paths with dynamic programming
  • Apply backtracking and branch and bound and explain P, NP and NP-complete classes

Who it is for

  • B.Sc Computer Science students of Semester 6 (UP State Universities NEP 2020 common minimum syllabus)
  • Students preparing for MCA entrance, GATE and coding interviews

What you need

  • B.Sc Computer Science Semesters 1-5, especially Data Structures
  • Basic discrete mathematics
Online tests & result Practice and unit tests online; marks and result show in your student login and at the centre. Student login →

Questions

Which syllabus does this course follow?

It follows the UP State Universities NEP 2020 common minimum syllabus for B.Sc Computer Science, Semester 6. Where your own university's syllabus differs, the centre follows your university's syllabus and question pattern.

Is coding required in this paper?

The paper is mainly analysis and tracing on paper; writing the algorithms in C or Python is encouraged for practice.

Is there a test after the course?

Yes. Unit-wise multiple-choice tests and a final exam paper are included for semester exam practice.

Download the syllabus (PDF)

Tell us who you are — your copy is made with your name, and our counsellor can help you choose the right course and centre.

Want to join right away? Enquire now — our centre will call you.