# 18 projects tagged "Algorithms"

## Updated 08 Dec 2013 TSP Solver and Generator

 Pop 64.03 2.03

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 26 Nov 2013 The Sound of Sorting

 Pop 133.87 5.54

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.

## Updated 07 Nov 2013 libefgy

 Pop 277.39 2.29

libefgy is a set of C++ headers containing lots of templates loosely related to maths. The headers include templates for fractional arithmetic, big integers (and thus "big fractions"), calculating π, e, and some calculations with those (for trigonometrics), matrix manipulations, tuples, polar and Euclidian spaces in arbitrary dimensions, (perspective) projections, colour space manipulations in RGB and HSL, and assorted other things.

## Updated 25 Sep 2013 llrb.h

 Pop 153.98 5.6

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 24 Jul 2013 markov.sql

 Pop 42.95 1.44

markov.sql implements third order (and lower) model Markov Chains, including training and generation, in pure SQL(ite). The source code archive also contains a pre-trained SQL dump with models based on the 1990 US Census Bureau data sets for first and last names, and an excerpt of the 2012 US tax office corporation names.

## Updated 16 Jul 2013 PHP Clarke and Wright Algorithm

 Pop 34.76 12.06

PHP Clarke and Wright Algorithm is a class that can solve a truck routing problem with the Clarke and Wright algorithm. It attempts to solve the problem of determining the routes by which a given number of trucks with different weight and volume capacity will be dispatching deliveries to a certain number of clients distributed geographically within certain time windows. The class takes as parameters the nodes of positions of each client, the demands of each client, a matrix of distance between nodes, and the capacity of each truck. It computes the route for each truck, as well the time and distance to drive to each customer and the volume and weight to transport.

## Updated 10 Jul 2012 nedtries

 Pop 69.25 2.71

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 15 Jan 2012 BS

 Pop 18.6 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 11 Nov 2011 ExternalSort

 Pop 15.62 27.55

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 20 Jun 2011 Zebra_Mptt

 Pop 18.38 1

Zebra_MPTT is a PHP class that provides an implementation of the modified preorder tree traversal algorithm. It provides methods for adding nodes anywhere in the tree, deleting nodes, moving and copying nodes around the tree, and for retrieving information about the nodes. It uses table locks to ensure that database integrity is always preserved and that concurrent MySQL sessions don’t compromise data integrity. A caching mechanism ensures that regardless of the type or the number of retrieval operations, the database is read only once per script execution.

## Project Spotlight

### bvi

Editor for binary files using common vi commands