/openanalysis

An implementation-neutral algorithm analysis and visualization library

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Introduction to OpenAnalysis

In our daily life, we encounter many algorithms. Knowingly or Unknowingly, algorithms make our life easier. Analysis of algorithms is a special field of interest in Computer Science. Analysis evaluates the algorithm, and leads to invention of faster algorithms. Visualization leads to the better understanding of how algorithms work. The package OpenAnalysis is inteded as a tool for analyzing and visualizing algorithms.

Types of supported algorithms

The following types of algorithms are currently supported. We plan to support more kind of algorithms in the future.

  • Comparision based Sorting Algorithms ( Analysis + Visualization )
  • Comparision based Searching Algorithms ( Analysis )
  • Comparision based Pattern Matching Algorithms ( Analysis )
  • Data Structures and Related algorithms ( Visualization )
  • Graph Algorithms based on Tree Growth techinique ( Visualizaiton )
  • Graph Algorithms utilizing Matrix and Dynamic Programming ( Visualization )

Setting up OpenAnalysis

OpenAnalysis is only supported on Python versions which are greater than 3.5. Once you have suitable version of Python installed, you can simply obtain OpenAnalysis via pip (or pip3, if you have multiple versions of Python installed)

sudo pip install OpenAnalysis

If all things go well, you have working installation of OpenAnalysis.

Documentation

An extensive documentation introducing Python language, along with exhaustive usage instruction for OpenAnalysis is available at https://openanalysis.readthedocs.io/. As this work was originally designed for the Algorithm Lab at CS&E department, SJCE, Mysuru (and cancelled for unfortunate, ill-defined reasons), the documentation follows the flow of a typical lab manual. A beautifully typeset PDF version of the documentation containing around 100 pages is also available at https://openanalysis.readthedocs.io/_/downloads/en/latest/pdf/ , suited for printing and distribution purposes.

You are free to use and modify this work according to your needs, with a credit to OpenWeavers.