# 15 projects tagged "Algorithms"

## Updated 12 Apr 2009 Algorithm Study

 Pop 50.79 1

Algorithm Study provides tools and resources to augment the traditional study of algorithms. It includes implementations of common and less-common algorithms in a variety of languages and visualization tools to help in gaining a deeper understanding of the algorithms. The algorithm implementations are each accompanied by a discussion of the asymptotic ("big O") run time and memory limits of the algorithm. Some implementations include discussion of how the algorithm or data structure is commonly used and comparisons with similar algorithms or data structures. All implementations have test cases that exercise their functionality. The visualization tool, Algorithm Visualizer, displays what happens as various algorithms do their work.

## Updated 25 Aug 2009 JRainbow Tool

 Pop 34.38 41.2

JRainbow is a program that generates Rainbow tables for the MD5 and SHA-1 hash algorithms. These tables then can be used for a Rainbow attack to retrieve hashed passwords. Up to 8 digit password rainbow tables are supported. The tables use a textual format. Six variations of alphanumeric and special character sets are supported. You can choose how many times to hash the input before storing it in the table.

## Updated 08 Dec 2013 TSP Solver and Generator

 Pop 78.42 2

TSPSG is intended to generate and solve "travelling salesman problem" (TSP) tasks. It uses the Branch and Bound method for solving. Its input is a number of cities and a matrix of city-to-city travel costs. The matrix can be populated with random values in a given range (which is useful for generating tasks). The result is an optimal route, its price, step-by-step matrices of solving, and a solving graph. The task can be saved in an internal binary format and opened later. The result can be printed or saved as PDF, HTML, or ODF. TSPSG may be useful for teachers to generate test tasks or just for regular users to solve TSPs. Also, it may be used as an example of using the Branch and Bound method to solve a particular task.

## Updated 25 Aug 2010 hilbert-curve

 Pop 31.65 1.43

hilbert-curve is a fast Hilbert curve implementation in PHP. It uses a table-based approach. It includes the Moore curve and the Z-curve.

## Updated 10 Jul 2012 nedtries

 Pop 72.84 2.55

nedtries is a portable in-place bitwise binary Fredkin trie algorithm that allows for near constant time insertions, deletions, finds, closest fit finds, and iteration. It is approximately 50-100% faster than red-black trees and up to 20% faster than O(1) hash tables. It provides implementations as C macros, C++ templates, and as a C++ STL compatible associative container.

## Updated 26 Sep 2010 bin-packing

 Pop 25.3 36.02

bin-packing is an implementation of the 1-dimensional bin packing algorithms in PHP: next fit, first fit, best fit, and worst fit.

## Updated 25 Sep 2013 llrb.h

 Pop 54.18 3.66

llrb.h is an iterative implementation of Robert Sedgewick's 2-3 variant left-leaning red-black tree algorithm. It's written to be a drop-in replacement for Niels Provos' <sys/tree.h> C preprocessor red-black tree library.

## Updated 11 Nov 2011 ExternalSort

 Pop 15.56 29.78

ExternalSort is a class that can sort large files similar to the Unix sort command. It can read the file to be sorted in small buckets associated with temporary files to not exceed the configured PHP memory limits. The buckets are sorted individually and then merged to produce the final sorted output. The class provides command line interface options so it can be executed as a command from a shell.

## Updated 15 Jan 2012 BS

 Pop 26.57 1

BS is a data structures library. It features fixed size, random access sequences. The sequences are constructed over B-trees. Complexity for most single item operations is about O(logN). The sequences are three to five times faster over random access BST-based sequences, while having better memory usage characteristics.

## Updated 26 Nov 2013 The Sound of Sorting

 Pop 81.46 2.13

The "Sound of Sorting" is a demo program containing many integer sorting algorithms. The algorithms are visualized in real time and augmented with sound effects, which are based on the values being compared. Animation speed and sound sustain can be customized while the algorithm is running. The visualization also highlights the algorithm's internal workings, which makes the demo program very useful for teaching sorting algorithms in an undergraduate computer science course. The program also counts the number of comparisons done by an algorithm, which can then be compared to the analytically derived value. The demo is implemented using the cross-platform toolkits wxWidgets and SDL, and can be executed on Windows, Linux, and Mac.

## Project Spotlight

### Free Help Desk

A Web-based help desk system.

## Project Spotlight

### stream

A Dart Web server.