Directories | Web | Images | Groups | News | Shopping | Local

Enter your search keyword(s):

 



(formerly Encyclopedic directory)
Sorting and Searching
Home / Top / Computers / Algorithms / Sorting and Searching

(formerly Encyclopedic directory)

See also:
Related articles

Edit | Discuss Article

Sorting

Sorting refers to various ways of arranging or ordering things.

Sorting information or data

One important kind of sorting is arranging items of information in sequence according to some pre-defined ordering, e.g. when one sorts the books in a library alphabetically by title, subject or author. The problem of how to change the order of lists according to given criteria is simply called sorting in computer science. It is one of the most extensively researched subjects in it; see sorting algorithm.

The main purpose of sorting information is to optimise its usefulness for specific tasks. In general, there are two ways of sorting information: by category e.g. a shopping catalogue where items are grouped together under headings such as 'home', 'sport & leisure', 'women's clothes' etc. and in a hierarchy according to some property e.g. from cheapest to most expensive. Richard Saul Wurman, in his book Information Anxiety, proposes Alphabetical, by Location and by Time as being the most common sorting methods (these are actually special cases of category and hierarchy). Together these give the acronym LATCH (Location, Alphabetical, Time, Category, Hierarchy) and can be used to describe just about every type of ordered information.

Often information is sorted using different methods at different levels of abstraction: e.g. the UK telephone directories which are sorted by location, by category (business or residential) and then alphabetically. New media still subscribe to these basic sorting methods: e.g. a Google search returns a list of web pages in a hierarchical list based on its own scoring system for how closely they match the search criteria (from closest match downwards).

Physical sorting processes

Various sorting tasks are essential in industrial processes. For example, during the extraction of gold from ore, a device called a shaker table uses gravity, vibration, and flow to separate gold from lighter materials in the ore. Sorting is also a naturally occurring process that results in the concentration of ore. Sorting results from the application of some criterion or differential stressor to a mass to separate it into its components based on some variable quality. Materials that are different, but only slightly so, such as the isotopes of uranium, are very difficult to separate.
Source | Copyright


Webmasters: Add your website here:

Readers: Edit | Discuss Listings

Fast Median Search
Overview of algorithms to find the median in a list of values; implementations and links are also provided.
http://ndevilla.free.fr/median

Ternary Search Trees
Algorithm for search. PDF file and examples in C.
http://www.cs.princeton.edu/~rs/strings/

Sorting Algorithms
Explanation, algorithm analysis, empirical data, and source code for the bubble, heap, insertion, merge, quick, selection, and shell sorts.
http://linux.wku.edu/~lamonml/algor/sort/sort.html

Parallel and Sequential Sorting Algorithms
An explanation of the sorting algorithms Quicksort, Heapsort, Shellsort, Mergesort, sorting networks such as Odd-even transposition sort, Bitonic sort and parallel sorting algorithms for two-dimensional processor arrays. All including animations.
http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/algoen.htm

Sorting and Searching Algorithms: A Cookbook
A web text by Thomas Niemann, also available in PDF, with C source code examples.
http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/niemann/s_man.htm

An Improved Comb Sort with Pre-defined Gap Table
The original comb sort is vulnerable to seriously degraded performance with certain repetitive input sequences. This variation addresses those problems and bounds worst case performance.
http://world.std.com/~jdveale/combsort.htm

Discussion of Sorting Algorithms
A web tutorial by Mark Baker.
http://atschool.eduweb.co.uk/mbaker/sorts.html

FlashSort
Sorting by in place permutation with time complexity O(n) using an auxiliary vector. Papers, animations and implementations.
http://www.neubert.net/FSOIntro.html

WASA
A Java implementation of the Wealthy Adaptative Search Algorithm, a constraint-solving algorithm using a stochastic approach. Sourceforge/GPL.
http://wasa.sourceforge.net/

A Compact Guide to Sorting and Searching
By Thomas Niemann.
http://oopweb.com/Algorithms/Documents/Sman/VolumeFrames.html

Compact Guide to Sorting and Searching
Algorithms and data structures. Source code in C and VB is included. Demonstration applets in Java.
http://epaperpress.com/sortsearch/

sortchk - A Sort Algorithm Test Suite
A simple test suite to measure the costs (in terms of needed comparisons and needed data moves) of different sorting algorithms. Source and various unix binaries.
http://www.home.unix-ag.org/bmeurer/projects/sortchk/

Postman's Sort
A linear time general purpose sorting algorithm. Included is a description of the algorithm and downloadable executables for Windows computers.
http://rrsd.com/

Suffix Tree
ANSI C implementation of E. Ukkonen's algorithm that makes it convenient to do string matching against a data set in O(N) time. Includes source code, an interface in Perl, and a write-up.
http://cs.haifa.ac.il/~shlomo/suffix_tree/

Three Dimensional Bubble Sort
A specification of a new 'bubble sort' in three or more dimesions, with illustrative images.
http://www.magma.ca/~gtaylor/3dBubbleSort.htm

Robsort Sorting Algorithm
An O(n!) algorithm with downloads for Win98 and Unix platforms.
http://www.robsort.org

Sequitur
Infers a hierarchical structure from a sequence of discrete symbols. Site includes examples, source code, description, publications, and an on-line demonstration.
http://sequence.rutgers.edu/sequitur/

Understanding SoundEx Algorithms
Article describing and discussing the SoundEx searching algorithm and enhancements to make it more accurate. Includes SoundEx conversion form and Open licensed source code in C, JavaScript, and Perl.
http://www.creativyst.com/Doc/Articles/SoundEx1/SoundEx1.htm

Dictionary Implementation using Red and Black Tree
Documentation of a C++ project by Dogan Can and Serdar Kemal Balci.
http://serdarbalci.port5.com/files/Cmpe160/dictionary.htm

GNU libavl
Details of this collection of binary search tree and balanced tree library routines by Ben Pfaff. Etext in HTML/PDF/PS and source distribution.
http://www.msu.edu/~pfaffben/avl/



Help build the largest human-edited directory on the web.
 Submit a Site - Open Directory Project (modified) - Become an Editor

Modified contents copyright 2008. All rights reserved.