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/
|