The Mastery of Computer Programming: Primary Algorithms - Sykalo Eugene 2023

The Mastery of Computer Programming: Primary Algorithms - Sykalo Eugene 2023

Introduction to Algorithms

Overview of algorithms

Mathematical Background

Fundamental concepts

Mathematical Preliminaries

Elementary concepts of number theory

Combinatorial analysis and techniques

Algebraic and transcendental numbers

Sorting and Searching

Elementary sorting methods

Internal sorting

External sorting

Searching

Algorithms for Combinatorial Problems

Combinatorial algorithms

Backtracking

Dancing Links

Branch-and-bound and Approximation algorithms

Dynamic Programming

Basic concepts

Knapsack problem

String matching

Longest common subsequence

Arithmetic Algorithms

Basic techniques

Multiple precision arithmetic

Primality testing

Integer factorization

Algorithmic Complexity and Information Theory

Asymptotic notation

Average and worst case analysis

Information theory

Entropy and prefix coding

Memory Hierarchies and Optimization

Memory hierarchy

Cache memories

Virtual memory

Garbage collection

Algorithms and Architecture

Instruction set design

Pipelining and parallel processing

RISC and CISC architectures

Superscalar and VLIW processors

Compiler Techniques

Lexical analysis

Syntax analysis

Code optimization

Code generation

The Mathematical Background

Elementary concepts of number theory

Combinatorial analysis and techniques

Algebraic and transcendental numbers

Analysis of Algorithms

Asymptotic notation

Average and worst case analysis

Empirical studies of algorithms