Gujarat Technological University: Analysis and Design of Algorithms
Gujarat Technological University: Analysis and Design of Algorithms
Bachelor of Engineering
                                        Subject Code: 3150703
                           ANALYSIS AND DESIGN OF ALGORITHMS
                                       Semester V
Type of course: NA
Rationale: Obtaining efficient algorithms is very important in modern computer engineering as the world
wants applications to be time and space and energy efficient. This course enables to understand and
analyze efficient algorithms for various applications.
Content:
                                                                                                   Page 1 of 3
                                              w.e.f. AY 2018-19
                       GUJARAT TECHNOLOGICAL UNIVERSITY
                                          Bachelor of Engineering
                                           Subject Code: 3150703
           An introduction using graphs and games, Undirected Graph, Directed
           Graph, Traversing Graphs, Depth First Search, Breath First Search,
           Topological sort, Connected components,
7          Backtracking and Branch and Bound:                                      03                 6
           Introduction, The Eight queens problem , Knapsack problem, Travelling
           Salesman problem, Minimax principle
8          String Matching:                                                        03                 6
           Introduction, The naive string matching algorithm, The Rabin-Karp
           algorithm, String Matching with finite automata, The Knuth-Morris-Pratt
           algorithm.
9          Introduction to NP-Completeness:                                        05                 11
           The class P and NP, Polynomial reduction, NP- Completeness Problem,
           NP-Hard Problems. Travelling Salesman problem, Hamiltonian problem,
           Approximation algorithms, Randomized algorithms, Class of
           problems beyond NP – P SPACE
Note: This specification table shall be treated as a general guideline for students and teachers. The actual
distribution of marks in the question paper may vary slightly from above table.
Reference Books:
Course Outcome:
After learning the course the students should be able to:
                                                                                                    Page 2 of 3
                                                w.e.f. AY 2018-19
                    GUJARAT TECHNOLOGICAL UNIVERSITY
                                        Bachelor of Engineering
                                        Subject Code: 3150703
List of Experiments:
                                                                                                Page 3 of 3
                                             w.e.f. AY 2018-19
Seat No.: ________                                           Enrolment No.___________
Marks
                                                                                             1
      (c) Explain Breath First Traversal Method for Graph with algorithm       07
          with example.
                                         OR
Q.5   (a) What is string-matching problem? Define valid shift and invalid      03
          shift.
      (b) Define P, NP, NP-Hard and NP-Complete Problem                        04
      (c) Explain Backtracking Method. What is N-Queens Problem? Give          07
          solution of 4- Queens Problem using Backtracking Method.
                                       OR
Q.5   (a) Explain “P = NP ?” problem.                                          03
      (b) Explain Minimax principal.                                           04
      (c) What is Finite Automata? Explain use of finite automata for string   07
          matching with suitable example.
                                                                                    2
Seat No.: ________                                                 Enrolment No.___________
                                                                                            Marks
 Q.1 (a) Sort the best case running times of all these algorithms in a non-decreasing        03
            order.
            LCS, Quick-Sort, Merge-Sort, Counting-Sort, Heap-Sort, Selection-Sort,
            Insertion-Sort, Bucket-Sort, Strassen’s Algorithm.
       (b) State whether the statements are correct or incorrect with reasons.               04
            1. O(f(n)) + O(f(n)) = O (2f(n))
            2. If 3n + 5 = O(n2) , then 3n + 5 = o(n2)
       (c) Explain asymptotic analysis with all the notations and its mathematical           07
            inequalities.
 Q.2 (a) What is the use of Loop Invariant? What should be shown to prove that an            03
         algorithm is correct?
     (b) Apply LCS on sequence <A,B,A,C,B,C> for pattern <A,B,C>                             04
     (c) Write and explain the recurrence relation of Merge Sort.                            07
                                            OR
     (c) Perform the analysis of a recurrence relation T(n)= 2𝑇 (𝑛) + 𝜃(𝑛2 ) by              07
                                                                  2
         drawing its recurrence tree.
                                                                                    FIG:1
                                             Graph G(V,E)
                                                                                                   1
                                           OR
Q.3 (a) Consider an array of size 2048 elements sorted in non-decreasing order.           03
        Show how the Binary Search will perform on this size by analysis of its
        recurrence relation. Derive the running time.
    (b) Explain the steps of greedy strategy for solving a problem.                       04
    (c) Apply Prim’s algorithm on the given graph in Q.3 (C) FIG:1 Graph                  07
        G(V,E) and step by step generate the MST.
Q.4 (a) Given is the S-table after running Chain Matrix Multiplication algorithm.         03
        Calculate       the        parenthesized     output       based        on
        PRINT_OPTIMAL_PARENTHESIS algorithm. Assume the matrix are
        names from A1, A2, ….,An
                                                            4       1
                                                        3       1       2
                                                  2         1       3       3
                                                        1       2       3
     (b) Explain states, constraints types of nodes and bounding function used by         04
           backtracking and branch and bound methods.
     (c)   Apply the algorithm to find strongly connected components from the             07
           given graph.
                                              OR
Q.4 (a) Consider a Knapsack with maximum weight capacity M is 7, for the three            03
        objects with value <3, 4, 5> with weights <2, 3, 4> solve using dynamic
        programming the maximum value the knapsack can have.
     (b) Explain the Minimax principle and show its working for simple tic-tac-toe game   04
           playing.
     (c)                                                                                  07
           Given is the DAG, apply the algorithm to perform topological sort and
           show the sorted graph.
                                                                                               2
Q.5 (a) When can we say that a problem exhibits the property of Optimal Sub-                     03
        structure?
    (b) Create an example of string P of length 7 such that, the prefix function of KMP          04
            string matcher returns π[5] = 3, π[3] = 1 and π[1] = 0
      (c)   Explain the 3SAT problem and show that it is NP Complete.                            07
                                                 OR
Q.5 (a) Explain Over-lapping Sub-problem with respect to dynamic                                 03
        programming.
    (b) Show that if all the characters of pattern P of size m are different, the naïve string   04
            matching algorithm can perform better with modification. Write the modified
            algorithm that performs better than O(n.m).
      (c)   Explain with example, how the Hamiltonian Cycle problem can be used to solve         07
            the Travelling Salesman problem.
************
                                                                                                      3
Seat No.: ________                                             Enrolment No.___________
                                                                                             1
      (c)   Explain in brief Breadth First Search and Depth First Search Traversal      07
            techniques of a Graph with Example.
                                              OR
Q.4   (a) Find an optimal Huffman code for the following set of frequency. A : 50, b:   03
          20, c: 15, d: 30
      (b) Find Minimum Spanning Tree for the given graph using Kruskal Algo.            04
*************
                                                                                         2
Seat No.: ________                                          Enrolment No.___________
                                                                                     MARKS
Q.1    (a) What is an algorithm? Why analysis of algorithm is required?               03
       (b) What is asymptotic notation? Find out big-oh notation of the f(n)=         04
           3n2+5n+10
       (c) Write an algorithm for insertion sort. Analyze insertion sort algorithm    07
           for best case and worst case.
Q.2    (a) What is the difference between selection sort and bubble sort?             03
       (b) Write iterative and recursive algorithm for finding the factorial of N.    04
           Derive the time complexity of both algorithms.
       (c) Solve following recurrence relation using iterative method                 07
           T(n)=2T(n / 2) + n
Q.3    (a) How divide and conquer approach work?                                      03
       (b) Trace the quick sort for data A = {6,5,3,11,10,4,7,9}                      04
       (c) Explain master theorem and solve the recurrence T(n)=9T(n/3)+n with        07
           master method
                Fig-1
Q.5    (a) How huffman code is memory efficient compare to fixed length code?         03
       (b) Give difference between greedy approach and dynamic programming.           04
       (c) Find the Huffman code for each symbol in following text                    07
           ABCCDEBABFFBACBEBDFAAAABCDEEDCCBFEBFCAE
Q.7   (a) What is finite automata? How it can be used in string matching?   03
      (b) Differentiate BFS and DFS                                         04
      (c) Explain Backtracking Method. What is N-Queens Problem? Give       07
          solution of 4-Queens Problem using Backtracking Method.
*************
                                                                                 2
http://www.gujaratstudy.com
    Seat No.: ________                                          Enrolment No.___________