Sorting
144656
225667533
2008-07-14T20:31:25Z
Bshirley
9705
small spelling corrections
{{For|the sorting of sediment|Sorting (sediment)}}
[[Image:Metal movable type.jpg|right|300px|thumb|Sorting type]]
{{wiktionarypar|sort|sorting}}
'''Sorting''' is any process of arranging items in some sequence and/or in different sets, and accordingly, it has two common, yet distinct meanings:
# [[Collating order|ordering]]: arranging items of the same kind, class, nature, etc. in some ordered sequence,
# [[categorization|categorizing]]: grouping and labeling items with similar properties together (by sorts).
==Sorting information or data==
For sorting we can either specify a weak order "should not come after" or a [[strict weak order]] "should come before" (specifying one defines also the other, the two are the complement of the inverse of each other, see {{ml|Binary_relation|Operations_on_binary_relations|operations on binary relations}}). For the sorting to be unique, these two are restricted to a [[total order]] and a strict total order, respectively.
Sorting [[n-tuple]]s (depending on context also called e.g. [[Object composition|record]]s consisting of fields) can be done based on one or more of its components. More generally objects can be sorted based on a property. Such a component or property is called a '''sort key'''.
For example, the items are books, the sort key is the title, subject or author, and the order is alphabetical.
A new sort key can be created from two or more sort keys by [[lexicographical order]]. The first is then called the '''primary sort key''', the second the '''secondary sort key''', etc.
For example, addresses could be sorted using the city as primary sort key, and the street as secondary sort key.
If the sort key values are [[total order|totally ordered]], the sort key defines a {{ml|strict weak ordering|Total preorders|weak order}} of the items: items with the same sort key are equivalent with respect to sorting. See also {{ml|Sorting_algorithm|Stability|stable sorting}}. If different items have different sort key values then this defines a unique order of the items.
A standard order is often called ''ascending'' (corresponding to the fact that the standard order of numbers is ascending, i.e. A to Z, 0 to 9), the reverse order ''descending'' (Z to A, 9 to 0).
Now if you sort on different keys, then you get different lists of header information (such as the author's name) with the appended tailing records (such as title or publisher). '''Sorting''' in [[computer science]] is one of the most extensively researched subjects because of the need to speed up the operation on thousands or millions of records during a search operation; ''see [[sorting algorithm]].''
The main purpose of sorting information is to optimise its usefulness for specific tasks. In general, there are two ways of grouping information: '''by category''' e.g. a shopping catalogue where items are compiled together under headings such as 'home', 'sport & leisure', 'women's clothes' etc. ([[Sampling (statistics)#Nominal and ordinal scales|nominal scale]]) and '''by the intensity''' of some property, such as price, e.g. from the cheapest to most expensive (ordinal scale). This is illustrated by the following story:
Managers are on a course of basic computer terms and they are explained the meaning of sorting. The lecturer comes in and throws hundreds of various nails and screws, new, old, rusty and crooked, of different size and material on the table. S/he then tells them to: sort! The students in no time create a dozen or so heaps each with relatively homogeneous members, and with some undecided cases left. The lecturer picks up a straight and strong nail, and hammers it in the wall with his/her shoe sole. "You failed to ask sort what for, or what to sort on", s/he would tell the puzzled audience.
[[Richard Saul Wurman]], in his book ''Information Anxiety'', proposes that the most common sorting purposes are '''Name''', by '''Location''' and by '''Time''' (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).
The opposite of sorting, rearranging a sequence of items in a random or meaningless order, is called [[shuffling|reshuffling]].
==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]], [[oscillation|vibration]], and [[flow]] to separate gold from lighter materials in the ore (sorting by size and weight). Sorting is also a naturally occurring process that results in the concentration of [[ore]] or [[Sorting (sediment)|sediment]]. 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.
==See also==
* [[Collation]]
* [[Sorting algorithm]]
* [[Unicode collation algorithm]]
* [[Organizing]]
==External links==
* [http://www.cs.ubc.ca/~harrison/Java/sorting-demo.html Demonstration of all Sorting Algorithms] Demonstrations of every sort from Bubble to Quick.
[[Category:Sorting algorithms]]
[[de:Sortierung]]
[[fr:Algorithme de tri]]
[[id:Sorting]]
[[nl:Sorteren]]
[[pt:Ordenação (computação)]]
[[fi:Lajittelu]]
[[tr:Sıralama]]