background preloader

Dictionary of Algorithms and Data Structures

This web site is hosted by the Software and Systems Division, Information Technology Laboratory, NIST. Development of this dictionary started in 1998 under the editorship of Paul E. Black. After 20 years, DADS needs to move. If you are interested in taking over DADS, please contact Paul Black. This is a dictionary of algorithms, algorithmic techniques, data structures, archetypal problems, and related definitions. Don't use this site to cheat. Currently we do not include algorithms particular to business data processing, communications, operating systems or distributed algorithms, programming languages, AI, graphics, or numerical analysis: it is tough enough covering "general" algorithms and data structures. Some terms with a leading variable, such as n-way, m-dimensional, or p-branching, are under k-. To look up words or phrases, enter them in the box, then click the button. We thank those who contributed definitions as well as many others who offered suggestions and corrections.

Related:  algorithm

Sorting Algorithms Demo We all know that Quicksort is one of the fastest algorithms for sorting. It's not often, however, that we get a chance to see exactly how fast Quicksort really is. The following applets chart the progress of several common sorting algorithms while sorting an array of data using in-place algorithms. This means that the algorithms do not allocate additional storage to hold temporary results: they sort the data in place. (This is inspired by the algorithm animation work at Brown University and the video Sorting out Sorting By Ronald Baecker from the University of Toronto (circa 1970!).) The free software listed here is perfect for the most mischievous pranks and computer gags. This software is great for playing jokes on those unsuspecting users. Click on any of our computer pranks below to get more information and download them. List of terms relating to algorithms and data structures The NIST Dictionary of Algorithms and Data Structures is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data structures. For algorithms and data structures not necessarily mentioned here, see list of algorithms and list of data structures. This list of terms was originally derived from the index of that document, and is in the public domain, as it was compiled by a Federal Government employee as part of a Federal Government work. Some of the terms defined are:

Eternally Confuzzled - AVL Tree Tutorial By Julienne WalkerLicense: Public Domain New programmers who are introduced to binary search trees quickly learn that if items are inserted in certain orders, the performance of the tree degenerates into that of a glorified linked list. Many brain cells have been devoted to the task of finding efficient ways to avoid these worst cases. Many exceedingly clever solutions have been developed, but only a handful have made it into public knowledge and even fewer into common use. Tutorials This section contains tutorials concerning all aspects of the Java programming language ecosystem for desktop and enterprise applications development. The Core Java Tutorials section contains tutorials regarding the core Java programming language. Here you can find tutorials about the latest core Java technologies including but not limited to JUnit, JSON, JAXB, Design Patterns, Concurrency, IO, Collections, Guava, Eclipse, Netbeans, IntelliJ IDEA etc.The Enterprise Java Tutorials section contains tutorials regarding Java extensions and libraries/frameworks for developing enterprise class applications. Here you can find tutorials about the latest enterprise Java technologies including but not limited to Spring, JSF, Hadoop, Hibernate, JPA, OSGi, Java EE6, GWT, Play!, ADF, EJB, Tomcat, JBoss, GAE etc.The Desktop Java Tutorials section contains tutorials regarding the development of desktop applications.

10 essential Counter Strike: Source maps A lot of Counter Strike: Source games take place every day. In fact, it's still the second most popular title on Steam (coming in just after the original Counterstrike). You can understand why some players might be hungry for a little variety. RED BLACK TREES An Introduction to Binary Search and Red-Black Trees By cpphamzaTopCoder Member As a programmer, you'll frequently come across tasks that deal with a number of objects -- numbers, strings, people, and so forth -- and that require you to store and process those objects. If you need to maintain a list of objects that are sorted and unique, and if you need to be able to quickly insert and retrieve objects to and from this list, the ideal data structure will be a tree set (or a tree map, if you consider each object a key and associate another object called a value to it).

The Java™ Tutorials The Java Tutorials are practical guides for programmers who want to use the Java programming language to create applications. They include hundreds of complete, working examples, and dozens of lessons. Groups of related lessons are organized into "trails". The Java Tutorials primarily describe features in Java SE 8. For best results, download JDK 8. What's New A Notebook: Elevator Algorithms In Philadelphia, I spent a lot of time waiting for elevators. I inevitably paid a lot of attention to the control algorithms used by different elevators in different buildings. All elevator algorithms solve the same type of optimization problem: given that a building has n floors and m elevators, how could we most efficiently move people up/down the floors? I'm sure you already know of the simple algorithm that every elevator implements, but one can definitely improve on this. Here's one improvement someone tried to make. Example #1: This building has one elevator, and 8 floors.

Related:  big data and semanticsjoshknowledge