/sort-visualizer

Visualizes sorting algorithms, written in JS & D3.js

Primary LanguageJavaScript

sort-visualizer

Background and Overview

A visual exploration of sorting algorithms written in JS & d3.js

Live Site

Functionality & MVP

Users will be able to:

  • Visualize sorting algorithms with realtime iterative stepping
  • Compare time complexity of different sorting algorithms
  • Display overview of Big(O) with lower + upper + actual time complexities

The project will also include:

  • Links to connect with me (GitHub, LinkedIn)
  • A modal with algorithm introduction
  • Data visualization built with d3.js

Wireframes

The app houses a primary d3.js container where algorithms are rendered in realtime.

Realtime Processing Comparison Chart

Architecture & Technologies

This app is implemented using the following technologies:

  • Vanilla JavaScript - structure and logic
  • d3.js - DOM manipulation and rendering
  • Babel for transpilation
  • Webpack for bundling scripts

Implementation Timeline

5/17/2019:

  • Tutorials on d3.js
  • Setup webpack, babel, stylesheets, index.html, and entry.js file

5/18/2019:

  • Continue d3.js documentation
  • Complete sorting algorithms in JS
    • Allow for local state history as nested dataset
  • Color palette research
  • Initial wireframes/mockups

5/19/2019:

  • Complete d3.js documentation
  • Narrow down visualization options
  • Connect datasets to d3.js visualization w/ animated transitions
  • Build out layout/mockups

5/20/2019:

  • Build out the score, song progress, and winning/failing bar
  • Implement sorting time complexity render
  • Create interactive Big(O) overview chart
  • Update introductory text + documentation

5/21/2019:

  • Finalize userflow/testing
  • Wrapup final styling
  • Complete text animations + container/dataset transitions
  • Production README.md
  • Deploy to GitHub pages

Bonus features:

  • Add visualizations for selection, insertion & bogo sort