Skip to content

Algorithms and Data Structures practice. Planning to implement most common used data structures and algorithms in order to understand more what I use every day and how does it work. Implementations will be written in C++ and C#, in future maybe in F#. Princeton Algorithms MOOC assignment solutions are written in Java.

Notifications You must be signed in to change notification settings

Nangal/Algorithms-2

Repository files navigation

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 ...

About

Algorithms and Data Structures practice. Planning to implement most common used data structures and algorithms in order to understand more what I use every day and how does it work. Implementations will be written in C++ and C#, in future maybe in F#. Princeton Algorithms MOOC assignment solutions are written in Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published