Advanced Data Structures and Algorithm Analysis - CSC 3102 by B.B. Karki, LSU - Prof. B. K, Papers of Computer Science

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

Pre 2010

Uploaded on 08/30/2009

koofers-user-9bs
koofers-user-9bs 🇺🇸

5

(1)

7 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
B.B. Karki, LSU
0.1
CSC 3102
Advanced Data Structures and
Algorithm Analysis
Bijaya Bahadur Karki
Tuesday and Thursday
1:40 PM to 3:00 PM
213 Tureaud Hall
CSC 3102
B.B. Karki, LSU
0.2
CSC 3102
Office Hours
!Instructor: Bijaya B. Karki
"12:30 PM to 2:00 PM, Monday and Wednesday
"Or at any time by appointment
"283 Coates Hall
!Teaching Assistant: Di Lin
"Any time by appointment
B.B. Karki, LSU
0.3
CSC 3102
Course Description and Prerequisites
!Catalog Description
"Description and utilization of formal ADT representations,
especially those on lists, sets, and graphs; time and space
analysis of recursive and non-recursive algorithms, including
graph and sorting algorithms; algorithm design techniques.
!Prerequisites
"Credit in CSC 2290 or CSC 1254 or CSC 1351
"Credit or registration in CSC 2259
B.B. Karki, LSU
0.4
CSC 3102
Major Topics
!Algorithm Basics
!Fundamental Data Structures
!Algorithm Design Techniques
B.B. Karki, LSU
0.5
CSC 3102
Algorithm Basics
!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
B.B. Karki, LSU
0.6
CSC 3102
!Concept, Structure, Functions, Abstract data type (ADT), Applications
!Linear Lists:
"Linked lists, Queues, Stacks
!Trees:
"Binary search tree, AVL tree, 2-3 tree, B-tree
!Graphs:
"Graph (DFS and BFS) traversals,
"Graph problems: Topological sorting
!Sets:
"Subsets, Union-find operations
Fundamental Data Structures
pf2

Partial preview of the text

Download Advanced Data Structures and Algorithm Analysis - CSC 3102 by B.B. Karki, LSU - Prof. B. K and more Papers Computer Science in PDF only on Docsity!

CSC 3102 0.1 B.B. Karki, LSU

Advanced Data Structures and

Algorithm Analysis

Bijaya Bahadur Karki

Tuesday and Thursday

1:40 PM to 3:00 PM

213 Tureaud Hall

CSC 3102

CSC 3102 0.2 B.B. Karki, LSU

Office Hours

! Instructor: Bijaya B. Karki

" 12:30 PM to 2:00 PM, Monday and Wednesday

" Or at any time by appointment

" 283 Coates Hall

" [email protected]

! Teaching Assistant: Di Lin

" Any time by appointment

" [email protected]

CSC 3102 0.3 B.B. Karki, LSU

Course Description and Prerequisites

! Catalog Description

" Description and utilization of formal ADT representations,

especially those on lists, sets, and graphs; time and space

analysis of recursive and non-recursive algorithms, including

graph and sorting algorithms; algorithm design techniques.

! Prerequisites

" Credit in CSC 2290 or CSC 1254 or CSC 1351

" Credit or registration in CSC 2259

CSC 3102 0.4 B.B. Karki, LSU

Major Topics

! Algorithm Basics

! Fundamental Data Structures

! Algorithm Design Techniques

CSC 3102 0.5 B.B. Karki, LSU

Algorithm Basics

! 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

! Linear Lists:

" Linked lists, Queues, Stacks

! Trees:

" Binary search tree, AVL tree, 2-3 tree, B-tree

! Graphs:

" Graph (DFS and BFS) traversals, " Graph problems: Topological sorting

! Sets:

" Subsets, Union-find operations

Fundamental Data Structures

CSC 3102 0.7 B.B. Karki, LSU Algorithm Design Techniques

! Brute force

" Selection sort, Brute-force string matching, Convex hull problem " Exhaustive search: Traveling salesman, knapsack, and assignment problems

! Divide-and-conquer

" Master theorem " Mergesort, Quicksort, Quickhull

! Decrease-and-conquer

" 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.)

! Transform-and-conquer

" Gaussian elimination, Heaps and Heapsort, Problem reduction

! Space-and-time tradeoffs

" 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

! Greedy techniques

" 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

! More on Algorithms (one or two classes).

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

! Grading Scale:

" A = 90% or more " B = 78% to 89% " C = 65% to 77%

! Grading Items:

" Quiz (10%) - Four to six including some pop quizzes " Homework assignment (10%)

Four assignments, Assigned on regular basis

Also helpful in preparation for the quiz and exam.

" Programming assignment (20%)

Four assignments, Assigned on regular basis

Implementation and exploration of some data structures and algorithms

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

Answer “True” or “False” to the following statements:

! 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.