0% found this document useful (0 votes)
37 views2 pages

Data Structures & Algorithms: Syllabus

This document outlines the topics covered in a course on data structures and algorithms. The course covers general concepts like analyzing time and space complexity, linear data structures like arrays and lists, trees, algorithm design techniques, hashing, graphs and digraphs, sorting, and the complexity classes P and NP. Key data structures and algorithms are discussed like stacks, queues, binary search trees, various sorting algorithms, graph search algorithms, and NP-complete problems.

Uploaded by

Kenneth Bejar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views2 pages

Data Structures & Algorithms: Syllabus

This document outlines the topics covered in a course on data structures and algorithms. The course covers general concepts like analyzing time and space complexity, linear data structures like arrays and lists, trees, algorithm design techniques, hashing, graphs and digraphs, sorting, and the complexity classes P and NP. Key data structures and algorithms are discussed like stacks, queues, binary search trees, various sorting algorithms, graph search algorithms, and NP-complete problems.

Uploaded by

Kenneth Bejar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Data Structures & Algorithms

Syllabus
Related Courses

• Data Structures
• Algorithms and Their Analysis
• Combinatorial Algorithms

Topics

1. General concepts

• Abstract data structure as an organization of data with specified properties and operations
• Time and space analysis of algorithms
• Big Oh and theta notations
• Average, best and worst case analysis
• Simple recurrence relations and use in algorithm analysis

2. Linear data structures

• Arrays, lists, stacks, queues


• Array and linked structure implementations of lists, stacks, queues
• Array of nodes and dynamic pointer implementations of linked structures

3. Trees

• General and binary trees


• Representations and traversals
• General trees as binary trees
• Binary search trees
• Applications
• The concept of balancing and its advantages
• Some balanced tree mechanism, eg. AVL trees, 2-3 trees, red-black trees, self-adjusting trees,
..

4. Algorithm design techniques

• Greedy methods
• Priority queue search
• Exhaustive search
• Divide and conquer
• Dynamic programming
• Recursion
• Influence of data structure on algorithm performance

5. Hashing

• Hash functions
• Collision resolution
• Expected behavior

6. Graphs and digraphs

• Representions
• Breadth and depth first searches
• Connectivity algorithms
• Shortest path
• Minimal spanning tree
• The union find problem
• Hamiltonian path and travelling salesperson problems
• Network flow
• Matchings

7. Sorting

• Elementary sorts: selection,insertion, bubblesort. Quicksort, mergesort, heapsort


• Bucket sorting
• External sorting
• Worst case and average behavior
• Lower bound for sorting using comparisons
• Order statistics

8. NP vs. P

• The spaces P and NP


• Polynomial reduction
• NP complete problems
• Boolean satisfiability and Cook’s theorem
• Binpacking, knapsack, Hamiltonian path, TSP, independent set, max clique, integer
• linear programming, graph coloring
• Approximation algorithms

You might also like