Lectures:
Introductory lesson
Concept of algorithm, complexity of algorithm
Linear data structures - stack, queue, list
Sorting I.
Sorting II.
Binary search trees I.
Binary search trees II.
Balanced binary search trees - Red-black trees, B-trees.
Hashing
Pattern matching I.
Pattern matching II.
Advanced data structures - skip-list, splay trees (optionally)
Exercises:
Implementation of examples corresponding to lessons.
Projects:
Each student will implement one project during the term.
Computer labs:
Students work on thier project and on examples corresponding to current lesson.
Java programming revision
Searching in array - linear search, binary search
Implementation of stack (queue, list), Bracket parity checking
Implementation of O(n2) sorting algorithm
Implementation of O(nlogn) sorting algorithm, implementation using Comparable interface
Binary search trees - implementation of operations Insert and Search
Binary search trees - tree traversal algorithms, counting of nodes etc.
Complex example of usage of binary search trees
Implementation of hash table, hash function design and tests
Pattern matching algorithms
Work on term project
Introductory lesson
Concept of algorithm, complexity of algorithm
Linear data structures - stack, queue, list
Sorting I.
Sorting II.
Binary search trees I.
Binary search trees II.
Balanced binary search trees - Red-black trees, B-trees.
Hashing
Pattern matching I.
Pattern matching II.
Advanced data structures - skip-list, splay trees (optionally)
Exercises:
Implementation of examples corresponding to lessons.
Projects:
Each student will implement one project during the term.
Computer labs:
Students work on thier project and on examples corresponding to current lesson.
Java programming revision
Searching in array - linear search, binary search
Implementation of stack (queue, list), Bracket parity checking
Implementation of O(n2) sorting algorithm
Implementation of O(nlogn) sorting algorithm, implementation using Comparable interface
Binary search trees - implementation of operations Insert and Search
Binary search trees - tree traversal algorithms, counting of nodes etc.
Complex example of usage of binary search trees
Implementation of hash table, hash function design and tests
Pattern matching algorithms
Work on term project