A dual-language algorithm library providing JavaScript and TypeScript implementations of commonly used algorithms and data structures. Designed for performance benchmarking and optimization analysis with Codeflash.
optimize-me-js/
├── js/ # JavaScript implementation
│ ├── src/
│ │ ├── dsa/ # Data Structures & Algorithms
│ │ ├── math/ # Mathematical functions
│ │ ├── matrix/ # Matrix and linear algebra operations
│ │ ├── stats/ # Statistical and ML functions
│ │ └── index.js # Entry point
│ ├── tests/ # Jest test suites
│ └── package.json
│
└── ts/ # TypeScript implementation
├── src/
│ ├── dsa/
│ ├── math/
│ ├── matrix/
│ ├── stats/
│ └── index.ts # Entry point
├── dist/ # Compiled output
├── tests/ # Jest test suites
├── package.json
└── tsconfig.json
- Caching & Memoization:
timeBasedCache,matrixChainOrder,binomialCoefficient,coinChange,knapsack - Graph Operations: Cycle detection, betweenness centrality, strongly connected components (Kosaraju)
- Data Structures:
Graph,Stack,PathFinder - Algorithms:
fibonacci,graphTraversal,isPalindrome,wordFrequency,regexMatch
- Number Theory:
gcdRecursive,lcm,isPrime,sieveOfEratosthenes - Numerical Analysis:
monteCarloPi,newtonRaphsonSqrt,bisectionMethod,lagrangeInterpolation - Basic Functions:
factorial,power
- Linear Algebra:
matrixMultiply,matrixAdd,matrixInverse,matrixDeterminant,luDecomposition,linearEquationSolver - Vector Operations:
dotProduct,vectorMagnitude,vectorNormalize - Signal Processing:
convolution1d,convolution2d,fft,ifft,gaussianBlur,imageRotation,histogramEqualization,rollingMean
- Descriptive Statistics:
mean,median,std,variance,describe - Correlation:
pearsonCorrelation,correlationmatrix - Machine Learning:
cosineSimilarity,cosineSimilarityTopK,pca,kmeansClustering,gradientDescent,linearPredict - DataFrame Operations: Filtering, grouping, merging,
pivotTable,melt,fillna,dropDuplicates,sortValues
# JavaScript
cd js
npm install
# TypeScript
cd ts
npm installconst { fibonacci, matrixMultiply, mean, Graph } = require('./src');
// Math
console.log(fibonacci(10)); // 55
// Matrix operations
const A = [[1, 2], [3, 4]];
const B = [[5, 6], [7, 8]];
console.log(matrixMultiply(A, B));
// Statistics
console.log(mean([1, 2, 3, 4, 5])); // 3import { fibonacci, matrixMultiply, mean, Graph } from './src';
// Same API as JavaScript
console.log(fibonacci(10)); // 55# JavaScript
cd js
npm test
# TypeScript
cd ts
npm testTests use Jest and cover all four modules.
This project serves as:
- Optimization Benchmark Suite - Includes intentional inefficiencies for Codeflash to identify and suggest optimizations
- Algorithm Reference Library - Working implementations of fundamental algorithms
- Performance Testing - Benchmark and compare implementations across languages
- Educational Tool - Demonstrates classic algorithms from computer science, mathematics, and machine learning
Both JavaScript and TypeScript packages are pre-configured for Codeflash optimization analysis. See package.json in each directory for configuration details.
MIT