Skip to content
Search

Algorithms

lastmod 2026-02-13created 2014-01-1192 edits

Subfields of algorithms

An algorithm (IPA: [ǽlɡərìðm]) is a finite set of operations for solving a given problem.

Categories

Average and worst-case analysis

See Big O notation for details.

Sorting

Visualization_and_Comparison_of_Sorting_Algorithms.gif

Selection sort / Shell sort / Insertion sort
Merge sort / Quick sort / Heap sort
Bubble sort / Comb sort / Cockta sort

Data compression

  • ZXC - High-performance asymmetric lossless compression library optimized for content delivery
  • zip
  • gzip
  • lzma

Finding

Routing

Mathematics

  • Euclidean Algorithm: an algorithm for finding the greatest common divisor.
  • Karatsuba Algorithm: a method for multiplying large numbers that reduces the number of multiplications by increasing the number of additions and subtractions.
  • Fast inverse square root - The fast inverse square root algorithm is used to compute angles of incidence and reflection in computations such as lighting.

Curves

  • Bezier curve: a curve that does not pass through the intermediate points but bends under their influence.
  • Ferguson / Xoons curve
  • Catmull-Rom spline curve: a curve that passes through all intermediate points. In games it is often used to create shapes such as the trail of a sword.
  • Lemniscate of Bernoulli

Computer Graphics

Image

  • jpeg
  • png (zlib)
  • Seam Carving - Finds only the unimportant repeated parts (seams) in an image and shrinks or expands them
  • FELICS - A lossless image compression algorithm that is 5 times faster than the lossless JPEG codec with a similar compression ratio.
  • ImageZero
  • QOI - O(n) lossless image compression

Network Programming

Cliping

Natural phenomena

Collision Detection

Geometry

Fluid Simulation

Algorithm categories by purpose

Cryptography

Key derivation function

Error detection and correction

  • Repetition code
  • Parity bit
  • Checksum
  • Cyclic redundancy check (CRC)
  • Cryptographic hash function
  • Forward error correction

Consensus algorithm

Game Algorithmes

Trees

Table of Tree

Binary trees

Binary search tree (BST), Cartesian tree, Top tree, T-tree

Self-balancing binary search trees

AA tree, AVL tree, LLRB tree, Red-black tree, Scapegoat tree, Splay tree, Treap

B-trees

B+ tree, B*-tree, Bx-tree, ~UB-tree, 2-3 tree, 2-3-4 tree, (a,b)-tree, Dancing tree, Htree

Tries

Suffix tree, Radix tree, Ternary search tree, X-fast trie, Y-fast trie

Binary space partitioning (BSP) trees

Quadtree, Octree, k-d tree, Implicit k-d tree, vp-tree

Non-binary trees

Exponential tree, Fusion tree, Interval tree, PQ tree, Range tree, SPQR tree, Van Emde Boas tree

Spatial data partitioning trees

R-tree, R+tree, R*tree, X-tree, M-tree, Segment tree, Hilbert R-tree, Priority R-tree

Other trees

Heap, Hash tree, Finger tree, Order statistic tree, Metric tree, Cover tree, ~BK-tree, Doubly chained tree, iDistance, Link-cut tree, Fenwick tree

See also

Favorite site

Tutorials

Articles

  • A new horizon in algorithm research: proof that "a little memory can be more powerful than a lot of time" | GeekNews
    • [Original] For Algorithms, a Little Memory Outweighs a Lot of Time | Quanta Magazine
    • A new proof by MIT theoretical computer scientist Ryan Williams shows that memory can be a more powerful computational resource than time
    • Breaks a 50-year standstill on the relationship between time and space complexity, presenting a way to convert any algorithm to use less memory
    • The core of the proof is the idea of generalizing space-saving simulation to reduce an algorithm's space usage to around the square root of its time
    • This makes progress toward quantitatively proving the gap between the PSPACE and P classes, and also opens the possibility of proofs of wider gaps
    • Experts call the result "a stunning advance and a starting point for new exploration", and it may become a clue to solving other hard problems in theoretical computer science

References


  1. GIS_DEVELOPER_-_Ray-Triangle_Intersection.pdf ↩

  2. Bowbowbow_tistory_-_line-line_intersection.pdf ↩

  3. Bowbowbow_tistory_-_two-vectors_direction.pdf ↩

  4. 2DGeometry_-line_point_position-_cross_product.pdf ↩

  5. GIS_Lab_-_Programming_algorithms.pdf ↩

  6. 1ambda.github.io-master-5c58cab.zip ↩

author Zer0 sitemap