Skip to content

Latest commit

 

History

History
34 lines (29 loc) · 2.18 KB

readme.md

File metadata and controls

34 lines (29 loc) · 2.18 KB

Algorithms, DataStructures and Design Patterns

Repository is simply named Algorithms, but there will be also a design patterns section. Planning to implement the most common used data structures and algorithms in order to understand more what I use every day and how does it work. Beside algorithms and data structures, I am planning to implement commonly used design patterns. Implementations will be written mostly in C++ and C#, in future maybe in F#.

Currently implemented

  • Singly-linked list
  • Doubly-linked list
  • Sorting algorithms
  • "Ad hoc" problems (Fibonacci sequence, simple string parsing, some COCI rounds tasks - problems )
  • Queue, Stack, Deque, RandomizedQueue
  • Math expression calculator (infix to postfix conversion, calculating postfix expression in imperative and functional way)
  • Towers of Hanoi problem
  • Directory Tree, BFS, DFS traversal
  • Minimal average subarray
  • NokiaComposer parser and sound producer
  • Search Query parser based on simple grammar
  • Let computer generate random number in [0,100] and develop algorithm which guesses generated number in less or equal to 7 steps
  • Dynamic connectivity problem -> various union find algorithms
  • Collinear points Bruteforce and Optimized(n2 log n) solution
  • Backtracking problems -> N Queens problem, Knight's tour problem, Rat in a maze problem, Word break problem (without DP and with DP), Searching for a word in letters matrix, Sudoku (9 * 9) solver, Magic Square (3x3) generator
  • Graph problems -> Topological sort problems, Bipartitive testing problems
  • Greedy problems -> Greedy iterative activity selection problem, job scheduling with max profit and deadline

Algorithm and DS Competition solutions

  • COCI 2016/2017 round 1 Jetpack task
  • COCI 2016/2017 round 2 first six tasks
  • COCI 2016/2017 round 4 problems
  • First 10 Advent of Code 2016 problems

Will be implemented

  • Graphs, graph algorithms and common algorithms like shortest/longest paths, graphs, traversal algorithms (DFS, BFS)
  • Interesting COCI (Croatian open informatics competition) or Codewars problems
  • Common DesignPatterns like AbstractFactory, Command, Strategy, Decorator, Iterator, Singleton and ...