C++ Algorithmic Training
Chaos Camp 2019-2020 is a series of free courses for young people interested in gaining knowledge and skills in different aspects of coding. After successfully attending one of these courses, you will also have the opportunity to take part in our 2020 Chaos Internship program.
Time & Location
16.11.2019 г., 18:20 ч.
"Biser" Hall, ul. "Biser" 2, 1421 g.k. Lozenets, Sofia, Bulgaria
About the Event
- Data types and their behavior. Some math algorithms. Dealing with the floating point numbers. Precision in floating point calculations. Specifics.
- A high level look at the computer architectures. Memory structure. Why we need to know that? Access patterns and according data arrangement.
- Recursion. Back tracking. Memoization.
- Statistical and probabilistic algorithms. Randomized algorithms.
- Introduction to parallel calculations and algorithms. Specifics and what to be aware of. A simple example with OpenMP. Examples with statistical algorithms.
- Sorting algorithms. Types, specifics. Generic algorithms: Selection sort, insertion sort, bubble sort, shaker sort, Shell sort, merge sort. Quick sort.
- Data dependent algorithms.
- Counting sort, radix sort.Searching - linear, binary, interpolation and parallel.Heap, Heap sort. Hash functions and hash tables.
- When we run out of memory - external searching and sorting. Indexing.
- Mid-term exam.
- Some special linear data structures - Chunk array, Skip listNon-linear data structures. Trees, DFS and BFS. Binary ordered tree. When we can use it and when to avoid it.
- How to fix the broken tree? Balanced trees. SDW algorithm for balancing.
- Self-balancing trees. Red-Black tree. AVL treeShared access to the tree. Parallel building and searching in a BST.
- More on trees - Prefix trees. Automata.
- Interval trees. Dynamic Order StatisticsRegular trees with higher dimension. KD-trees. BVH.
- More on probabilities and statistics. Monte Carlo and Las Vegas algorithms.
- Final exam.