Skip to content

manustays/data-structure-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Data Structures & Algorithms [WIP]

Data structure algorithm implementations for learning in various programming languages

πŸ—ƒ Project Index

Category Algorithm Javacsript Java Python
Union-Find Weighted Quick-Union UF βœ… βœ…
Sort Knuth Shuffle βœ…
Sort Insertion Sort βœ…
Sort Mergesort βœ…
Sort Quicksort βœ…
Binary Heap Priority Queue βœ…
Binary Heap Heapsort βœ…
Linked List Singly Linked List βœ…
Tree BinaryTree βœ…
Tree BinarySearchTree βœ…

πŸ—ƒ Project Structure

  • πŸ“‚ javascript/
    • πŸ“‚ union_find/
      • πŸ“„ weighted_quick_union_uf.js: UnionFind with improvements:
        • βœ… Quick-Union algorithm
        • βœ… Weighted sub-trees
        • βœ… Path compression
    • πŸ“‚ sort/
      • πŸ“„ sortable.js: Base class with common utility methods for array-based sorting algorithms.
      • πŸ“„ knuth_shuffle.js: Knuth shuffle algorithm for arrays.
      • πŸ“„ insertionsort.js: Insertion sort algorithm for arrays.
      • πŸ“„ mergesort.js: Mergesort algorithm for arrays with improvements:
        • βœ… Insertion Sort for smaller subarrays
        • βœ… Stop early if already sorted
        • πŸ”² Eliminate copy of auxiliary array
      • πŸ“„ quicksort.js: Quicksort algorithm for arrays with improvements:
        • βœ… Initial shuffle for performance guarantee
        • βœ… Insertion Sort for smaller subarrays
        • βœ… Median-of-3-samples to find optimal partition element
    • πŸ“‚ binary_heap/
      • πŸ“„ priority_queue.js: Priority Queue implementation using a Binary Heap data-structure.
      • πŸ“„ heap_sort.js: Heapsort implementation using a Binary Heap data-structure.
    • πŸ“‚ linked_list/
    • πŸ“‚ tree/

About

Data structures & algorithms implemented in Javascript & other languages

Topics

Resources

Stars

Watchers

Forks