This repository contains selected algorithms and data structures implemented using Python3. Data structures implemented: basic matrix implementation; linked list; cyclic linked list; queue; unrolled linked list; hash list; skip list; binary tree; AVL binary search tree; heap; b-tree; graph. Algorithms implemented: heap, selection and shell sort; Kruskal algorithm; Prim algorithm; Ford-Fulkerson algorithm; Ulman algorithm; regex search methods; Bloom filter algorithm. Author: Filip Dymczyk