AlgART Libraries is a collection of Java libraries, supporting generalized smart arrays and matrices with elements of any types, including a wide set of of 2D, 3D, and multidimensional image processing and other algorithms. Main features: 64-bit long int indexes, a memory model concept (allowing storing data in different schemes from RAM to mapped disk files), wide usage of lazy evaluations, built-in multi-threading optimization for multi-core processors, etc.
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.
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.
C Almost Generic Library (CAGL) is a set of C macros which generates typed arrays, lists (singly or doubly-linked), hash tables, and balanced binary trees, as well as many useful functions to manipulate them. The containers grow automatically, and their memory is managed by the library. The container data, or elements, may also be managed by the library, depending on the options specified by the programmer. The aim is to free C programmers from the drudgery of implementing common data structures and algorithms. CAGL also provides some safety by making the containers typed instead of void pointers. Although, at most, two macros are invoked to declare and define a container type, manipulation of the containers is done using functions generated by the macros. A simple naming convention is used to get around the limitation that C doesn't support function overloading.
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.
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.
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.
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.