|
| |
|
CS 3345
Algorithm Analysis and Data Structures
|
|
COURSE DESCRIPTION |
|
Metrics for performance evaluation of algorithms. Formal
treatment of basic data structures such as arrays, stacks, queues, lists,
trees. Various sorting and searching techniques. Fundamental graph algorithms. |
|
COURSE LEARNING OBJECTIVES |
|
This course is intended to provide an understanding of the
design and analysis of software algorithms, with a corresponding formal
treatment of the related fundamental algorithm techniques and advanced data
structures.
- Understand and use asymptotic notations, perform simple
algorithm analysis
- Know basic proof techniques, solve recurrences
- Understand and use data structures for link lists, stacks
and queues
- Understand basic tree concepts, representations,
traversal, binary search
- Ability to design tree based algorithms for solving
problems
- Understanding and use of hashing
- Understand and use of heaps
- Know basic sorting algorithms, selection, insertion,
shell, heapsort, mergesort, quicksort, indirect sorting
- Know and apply basic graph algorithms, topological sort,
Dijkstra, Prim, Kruskal algorithms, depth and breadth first search graph
traversals
|
|
MAJOR
TOPICS |
|
This course covers lot of
emphasis on information security in some form or other from the textbooks, web
sites, or lectures.
Topics will include fundamental concepts of organizations
for large volumes of data and estimating the running time of software
algorithms. Introductory study of search trees, B-trees, lists, selections,
sorting, sets, vectors, graphs, weighted graphs, network flows, number theory,
cryptography, computational geometry, and NP-Completeness.
|
| |
|