Jump to content

List of algorithms: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Undid revision 286238922 by Terababy (talk)
Ergosys (talk | contribs)
→‎Operating systems algorithms: add CAR, some WP:MOS changes, remove Bully algorithm (duplicated in another section)
Line 834: Line 834:
* [[Reference counting]]
* [[Reference counting]]


===[[Operating systems]] algorithms===
===Operating systems algorithms===
{{see|Operating systems}}
* [[Banker's algorithm]]: Algorithm used for deadlock avoidance.
* [[Banker's algorithm]]: Algorithm used for deadlock avoidance.
* [[Bully algorithm]]: Selecting new leader among many computers.
* [[Page replacement algorithms]]: Selecting the victim page under low memory conditions.
* [[Page replacement algorithms]]: Selecting the victim page under low memory conditions.
** [[Adaptive Replacement Cache]]: better performance than LRU
** [[Adaptive replacement cache]]: better performance than LRU
** [[Clock with Adaptive Replacement]] (CAR): is a page replacement algorithm that has performance comparable to [[Adaptive replacement cache]]


====Disk scheduling algorithms====
====Disk scheduling====
{{see|Disk scheduling}}
* [[Elevator algorithm]]: Disk scheduling algorithm that works like an elevator.
* [[Elevator algorithm]]: Disk scheduling algorithm that works like an elevator.
* [[Shortest seek first]]: Disk scheduling algorithm to reduce [[seek time]].
* [[Shortest seek first]]: Disk scheduling algorithm to reduce [[seek time]].


====Networking algorithms====
====Networking====
{{see|Computer Network}}
* [[Karn's Algorithm]]: addresses the problem of getting accurate estimates of the round-trip time for messages when using TCP
* [[Karn's Algorithm]]: addresses the problem of getting accurate estimates of the round-trip time for messages when using TCP
* [[Luleå algorithm]]: a technique for storing and searching internet routing tables efficiently
* [[Luleå algorithm]]: a technique for storing and searching internet routing tables efficiently
Line 855: Line 858:
** [[Token bucket]]
** [[Token bucket]]


====[[Process synchronization]] algorithms====
====Process synchronization====
{{see|Process synchronization}}
* [[Dekker's algorithm]]
* [[Dekker's algorithm]]
* [[Lamport's Bakery algorithm]]
* [[Lamport's Bakery algorithm]]
* [[Peterson's algorithm]]
* [[Peterson's algorithm]]


====[[Scheduling (computing)|Scheduling]] algorithms====
====Scheduling====
{{see|Scheduling (computing)}}

* [[Earliest deadline first scheduling]]
* [[Earliest deadline first scheduling]]
* [[Fair-share scheduling]]
* [[Fair-share scheduling]]
Line 871: Line 877:
* [[shortest job next]]
* [[shortest job next]]
* [[shortest remaining time]]
* [[shortest remaining time]]



==Other==
==Other==

Revision as of 06:55, 27 April 2009

The following is a list of algorithms described in Wikipedia. This list is manually updated and additions of links to existing pages are welcome. See also the list of data structures, list of algorithm general topics and list of terms relating to algorithms and data structures.

If you intend to describe a new algorithm, please read algorithms on Wikipedia first, then add a link to your article and a one-line description here.



Combinatorial algorithms

General combinatorial algorithms

Graph algorithms

Routing problems

Subgraphs

Sequence alignment algorithms

Approximate matching

  • Simple Merge algorithm
  • k-way Merge algorithm

Subsequence problems

Substring problems

Computational mathematics

Abstract algebra

Geometry

Number theoretic algorithms

Numerical algorithms

Elementary and special functions

Geometric

  • Level set method (LSM): a numerical technique for tracking interfaces and shapes

Computational science

Astronomical algorithms

Bioinformatics

Geoscience algorithms

  • Vincenty's formulae: a fast algorithm to calculate the distance between two latitude/longitude points on an ellipsoid

Computer Science

  • Tomasulo algorithm: allows sequential instructions that would normally be stalled due to certain dependencies to execute non-sequentially

Cryptographic algorithms

Digital Logic

Machine learning and statistical classification

Programming language theory

Application of quantum computation to various categories of problems and algorithms

Theory of computation and automata

Information theory and Signal Processing

Coding theory

Digital signal processing

Database algorithms

Memory allocation and deallocation algorithms

Operating systems algorithms

Disk scheduling

Networking

Process synchronization

Scheduling

Other

See also