Skip to content

yagafonov/python-examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python examples

Binder

This repository contains some material from different computer science topics in a form of jupyter notebooks. The core feature of the presentation from is vast use of automatically generated animated examples.

Text animations

Here's an example of quicksort algorithm using text state representation

Quicksort

Matplotlib animations

Using matplotlib one can visualize some plane algorithm, for example EM algorithm for Old Faithfull eruption data

em

or domino coloring based on 5-coloring algorithm for planar graphs

coloring

or convex hull construction

convex_hull

Graphviz

Using graphviz one can visualize basic graph algorithms, here's an example of Dijkstra algorithm

dijkstra

Requirements and installation

A proper installation on debian-based systems is

cat apt.txt | xargs sudo apt-get install
pip install -r requirements.txt

For other linux-based OS use the appropriate package manager to install packages listed in apt.txt which currently contains graphviz and latex needed for proper visualization in notebooks. Note that there also might be problems with ipywidgets in jupyter lab, check the docs for installation instructions.

Table of content

Eng

Introduction to linear programming, simplex method and interior point method. Some animations are presented in this notebook including ellipsoid method.

Compararison between different gradient momentum methods for a basic quadratic function. Currently code and animations only.

Some exdamples of probability walk on rectangular grid.

Some basic parse and analysis of global Covid-19 data from Johns Hopkins University.

Rus

Рассматривается задача покрытия фигур на плоскости, состоящиех из квадратных клеток одинакового размера и два её программных решения: с помощью динамического программирования по профилю и с помощью нахождения максимального паросочетания. Бонусом идет раскраска планарного графа в 5 цветов (не протестировано).

Разобраны обходы в глубину и ширину, а так же их базовые применения.

Основные алгоритмы для задачи о крайших путях от одной вершины до всех остальных. Все алгоритмы представлены как модификации "сканирующего метода".

Префиксное дерево, префикс-функцию, алгоритм Ахо-Корасик и их применения в марковских моделях для обработки текста.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.8%
  • Python 0.2%