

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Information about the advanced data structures and algorithm analysis course (csc 3102) offered by b.b. Karki at louisiana state university (lsu). The course covers topics such as algorithm basics, fundamental data structures, and algorithm design techniques. Students are required to have prerequisites including credit in csc 2290 or csc 1254 or csc 1351 and credit or registration in csc 2259. The document also includes details about the course description, major topics, algorithm basics, fundamental data structures, and algorithm design techniques.
Typology: Papers
1 / 2
This page cannot be seen from the preview
Don't miss anything!


CSC 3102 0.1 B.B. Karki, LSU
CSC 3102 0.2 B.B. Karki, LSU
CSC 3102 0.3 B.B. Karki, LSU
CSC 3102 0.4 B.B. Karki, LSU
CSC 3102 0.5 B.B. Karki, LSU
! Notion of Algorithm ! Fundamentals of algorithmic problem solving " Sequence of steps ! Important problem types " Sorting, Searching, String processing, Graph problems, Combinatorial problems, Geometric problems, Numerical problems ! Analysis of algorithmic efficiency " Analysis framework " Asymptotic notations " Basic efficiency classes ! Non-recursive algorithms ! Recursive algorithms CSC 3102 0.6 B.B. Karki, LSU ! Concept, Structure, Functions, Abstract data type (ADT), Applications
" Linked lists, Queues, Stacks
" Binary search tree, AVL tree, 2-3 tree, B-tree
" Graph (DFS and BFS) traversals, " Graph problems: Topological sorting
" Subsets, Union-find operations
CSC 3102 0.7 B.B. Karki, LSU Algorithm Design Techniques
" Selection sort, Brute-force string matching, Convex hull problem " Exhaustive search: Traveling salesman, knapsack, and assignment problems
" Master theorem " Mergesort, Quicksort, Quickhull
" Insertion sort " Permutations: Minimal change approach, Johnson-Trotter algorithm " Fake-coin problem: Ternary search " Computing a median CSC 3102 0.8 B.B. Karki, LSU Algorithm Design Techniques (Contd.)
" Gaussian elimination, Heaps and Heapsort, Problem reduction
" Horspool’s algorithm for string matching " Boyer-Moore algorithm for string matching ! Dynamic programming " Warshall’s algorithm for transitive closure " Floyd’s algorithms for all-pairs shortest paths
" Prim’s algorithm for the MST problem " Kruskal’s algorithm for the MST problem " Dijkstra’s algorithm for single-source shortest path problem " Huffman tree and code
CSC 3102 0.9 B.B. Karki, LSU Reading Materials & Resources ! Textbooks: " Required: Anany Levitin, Introduction to The Design & Analysis of Algorithms, 2nd^ Ed. " Recommended: Richard F. Gilberg and Behrouz A. Forouzan, Data Structures: A Pseudocode Approach with C Michael Main, Data Structures and Other Objects using JAVA Robert Sedgewick, Tim Lindholm, Michael Schidlowsky, Algorithms in Java, Third Edition, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching ! Resources: " Course-related materials posted regularly online: www.csc.lsu.edu/~karki moodle.lsu.edu " Server “ classes ” for working in programming assignments classes.csc.lsu.edu CSC 3102 0.10 B.B. Karki, LSU Grading Policy
" A = 90% or more " B = 78% to 89% " C = 65% to 77%
" Quiz (10%) - Four to six including some pop quizzes " Homework assignment (10%)
" Programming assignment (20%)
with C/C++, JAVA " Mid-term exam (30%) " Final exam (30%) ! Exams are closed book ! Late submission of assignment will be penalized ! Academic dishonesty will be treated seriously. " D = 50% to 64% " F = below 50% CSC 3102 0.11 B.B. Karki, LSU Sample Questions: Type 1
! The quadratic basic efficiency class has greater order of growth than the factorial efficiency class. ! Big O is used to represent an upper bound on order of growth of a given function. ! Stack operates in the LIFO fashion. ! The basic operation in computing n! is the addition. ! The partition-based algorithm to find the median of a list of integers adopts a decrease-and-conquer approach. ! Exhaustive search is a brute-force approach to combinatorial problems. ! Any weighted connected graph with distinct weights has exactly one minimum spanning tree. ! It is always true that the bottom-up and top-down algorithms yield the same heap for the same input. CSC 3102 0.12 B.B. Karki, LSU Sample Questions: Type 2 ! Compare the orders of growth of nlogn and n3/2. Show your work. ! Construct a 2-3 tree for the list 9, 5, 8, 3, 2, 4 and 7 by successive insertions. ! Generate the bad-symbol and good-suffix tables for a 7-bit long pattern 1000000. ! Solve the following recurrence relation: x(n) = 3x(n-1) for n > 1, x(1) = 4. ! Construct a heap for the list 1, 8, 6, 5, 3, 7, 4 using either the bottom-up algorithm or the top-down algorithm. ! Use Master Theorem to find the order of growth of the following recurrence: T(n) = 4T(n/2) + n^3 for n > 0, T(1) = 1. ! Apply Kruskal’s algorithm to find a minimum spanning tree of the following graph. Calculate the total weight of the tree. Can this graph have more than one MST? Justify your answer.