Timetable at FEE
Students of ePAL
Upload system BRUTE
Discussion board
The Basics
Introduction and repetitions
Asymptotic complexity recap. Training problems
are here.
For more thorough or necessary basic acquaintance with the related topics consult the book
Problems on Algorithms. Student are expected to be able to solve any problem marked by one cap in chapters 2. and 3. both during the semester and at the exam. We recommend problems 64. - 66., 144. - 148., 163. - 170. as an easy start.
Upload system
An introduction to Upload system, 0-th programming optional (not graded) task, its specification can be found
here.
Write a program that solves the task. Upload it and check how the system asseses it. Follow strictly the rules specified on page
Upload System.
Training homework problem
The solution and submission is not mandatory and it is not graded if submitted. The problem itself is extremely simple, you can utilize it is to get acquainted with the upload system.
Upload System.
Problem statement and public data
1st week
First homework problem
New advances in gravitational waves observations
Exam topics
Asymptotic notations, asymptotic complexity, graph representations.
Boruvka's, Kruskal's, Prim's algorithms. Their implementation and data structures, ie. priority queues and Union-Find.
Prim's algorithm without a queue.
Union-Find implementations.
2nd week
Directed graphs, strongly connected components, Eulerian graphs
example problems .
Additional problems for training
here
Exam topics
Eulerian graph (directed and undirected), Eulerian path/cycle, method of finding them.
Strong and weak connectivity, strong and weak components, graph condensation. Algorithms which find strong components or produce a condensation.
Topological ordering of a graph using DFS or using gradual roots/leaves removal.
3th week
Additional problems for training
here
Second homework problem
Exam topics
The heap rule. Standard operations on heaps. Binary, d-ary and binomial heap.
Binary and d-ary heap implemented in an array.
Fibonacci heap, amortized complexity of its operations.
4th week
Additional problems for training
here
Exam topics
Graph isomorphism, definition, invariants, algorithm for finding all isomorphisms.
Isomorphism and certificates of undirected trees, computing the certificate for a tree and reconstructing a tree from a certificate.
5th week
Combinatorial generation of subsets, permutations and their ranks.
Example problems.
Additional problems for training
here
Kreher, Stinson: Combinatorial Algorithms, notes:
Third homework problem
Exam topics
Combinations, variations, permutations with or without repetition, definitions, formulas. Binomial coefficients, their basic relations, Pascal triangle.
Operations(functions) Rank and UnRank for ordered permutations and k-element subsets of given set.
Gray code - definition, properties, operations Rank and UnRank.
6th week
Additional problems for training
here
Exam topics
Deterministic and non-deterministic finite automaton (DFA and NFA), definition. Languages accepted by finite automata.
Algorithm for transforming NFA to DFA, simulation of NFA work without transformation to DFA. Epsilon-transitions and their removal from an automaton.
Regular expressions. Definition, algorithm for transformation of regular expression to NFA.
7th week
Text Searching. Additional problems for training
here
Fourth homework problem
Exam topics
Construction of NFA for pattern matching. Impelementation of NFA/DFA by a table or by code.
Hamming and Levenshtein distance. NFA/DFA for search of substrings which have nonzero distance from a given pattern.
8th week
Additional problems for training
here.
Exam topics
Finding dictionary entries in a text with the help of dictionary automaton.
Number of states of dictionary NFA, DFA.
Approximate text search based on previous methods.
9th week
Primes and pseudorandom numbers – Example problems .
Fifth homework problem
Exam topics
10th week
11th week
2-3-4 trees and B+ trees, splay trees. Additional problems for training
here
Sixth homework problem
Exam topics
2-3-4 trees and B+ trees. Asymptotic complexity of particular search tree operations.
12th week
Exam topics
KD trees, search for Nearest Neighbour in 2D.
13th week
In preparation
Exam topics
14th week
In preparation
* Radix trie, Patricia trie, segment tree.
Exam topics
* Radix trie, Patricia trie, segment tree.