Portal:Mathematics

Page semi-protected
From Wikipedia, the free encyclopedia

The Mathematics Portal

Mathematics is the study of representing and reasoning about abstract objects (such as numbers, points, spaces, sets, structures, and games). Mathematics is used throughout the world as an essential tool in many fields, including natural science, engineering, medicine, and the social sciences. Applied mathematics, the branch of mathematics concerned with application of mathematical knowledge to other fields, inspires and makes use of new mathematical discoveries and sometimes leads to the development of entirely new mathematical disciplines, such as statistics and game theory. Mathematicians also engage in pure mathematics, or mathematics for its own sake, without having any application in mind. There is no clear line separating pure and applied mathematics, and practical applications for what began as pure mathematics are often discovered. (Full article...)

  Featured articles are displayed here, which represent some of the best content on English Wikipedia.

Selected image – show another

animation of dots of varying heights being sorted by height using the quicksort algorithm
animation of dots of varying heights being sorted by height using the quicksort algorithm
Quicksort (also known as the partition-exchange sort) is an efficient sorting algorithm that works for items of any type for which a total order (i.e., "≤") relation is defined. This animation shows how the algorithm partitions the input array (here a random permutation of the numbers 1 through 33) into two smaller arrays based on a selected pivot element (bar marked in red, here always chosen to be the last element in the array under consideration), by swapping elements between the two sub-arrays so that those in the first (on the left) end up all smaller than the pivot element's value (horizontal blue line) and those in the second (on the right) all larger. The pivot element is then moved to a position between the two sub-arrays; at this point, the pivot element is in its final position and will never be moved again. The algorithm then proceeds to recursively apply the same procedure to each of the smaller arrays, partitioning and rearranging the elements until there are no sub-arrays longer than one element left to process. (As can be seen in the animation, the algorithm actually sorts all left-hand sub-arrays first, and then starts to process the right-hand sub-arrays.) First developed by Tony Hoare in 1959, quicksort is still a commonly used algorithm for sorting in computer applications. On the average, it requires O(n log n) comparisons to sort n items, which compares favorably to other popular sorting methods, including merge sort and heapsort. Unfortunately, on rare occasions (including cases where the input is already sorted or contains items that are all equal) quicksort requires a worst-case O(n2) comparisons, while the other two methods remain O(n log n) in their worst cases. Still, when implemented well, quicksort can be about two or three times faster than its main competitors. Unlike merge sort, the standard implementation of quicksort does not preserve the order of equal input items (it is not stable), although stable versions of the algorithm do exist at the expense of requiring O(n) additional storage space. Other variations are based on different ways of choosing the pivot element (for example, choosing a random element instead of always using the last one), using more than one pivot, switching to an insertion sort when the sub-arrays have shrunk to a sufficiently small length, and using a three-way partitioning scheme (grouping items into those smaller, larger, and equal to the pivot—a modification that can turn the worst-case scenario of all-equal input values into the best case). Because of the algorithm's "divide and conquer" approach, parts of it can be done in parallel (in particular, the processing of the left and right sub-arrays can be done simultaneously). However, other sorting algorithms (including merge sort) experience much greater speed increases when performed in parallel.

Good articles – load new batch

  These are Good articles, which meet a core set of high editorial standards.

Did you know (auto-generated)load new batch

More did you know – view different entries

Did you know...
Did you know...
Showing 7 items out of 75

Selected article – show another


Flowcharts are often used to represent algorithms
Image credit: User:Booyabazooka

An algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation of the algorithm are important in computing, and this depends on suitable data structures.

Informally, the concept of an algorithm is often illustrated by the example of a recipe, although many algorithms are much more complex; algorithms often have steps that repeat (iterate) or require decisions (such as logic or comparison). Algorithms can be composed to create more complex algorithms.

The concept of an algorithm originated as a means of recording procedures for solving mathematical problems such as finding the common divisor of two numbers or multiplying two numbers. The concept was formalized in 1936 through Alan Turing's Turing machines and Alonzo Church's lambda calculus, which in turn formed the foundation of computer science.

Most algorithms can be directly implemented by computer programs; any other algorithms can at least in theory be simulated by computer programs. In many programming languages, algorithms are implemented as functions or procedures. (Full article...)

View all selected articles

Subcategories


Full category tree. Select [►] to view subcategories.

Topics in mathematics

General Foundations Number theory Discrete mathematics


Algebra Analysis Geometry and topology Applied mathematics
Source

Index of mathematics articles

ARTICLE INDEX:
MATHEMATICIANS:

Related portals

WikiProjects

WikiProjects The Mathematics WikiProject is the center for mathematics-related editing on Wikipedia. Join the discussion on the project's talk page.

In other Wikimedia projects

The following Wikimedia Foundation sister projects provide more on this subject:

More portals