Post correspondence problem potential function (see potential method) predicate prefix prefix code prefix computation prefix sum prefix traversal preorder traversal primary clustering primitive recursive Prim's algorithm principle of optimality priority queue prisoner's dilemma PRNG probabilistic algorithm probabilistically checkable proof probabilistic Turing machine probe sequence Procedure (computer science) process algebra proper (see proper subset) proper binary tree proper coloring proper subset property list prune and search pseudorandom number generator pth order Fibonacci numbers P-tree purely functional language pushdown automaton (PDA) pushdown transducer p-way merge sort Q qm sort qsort quadratic probing quadtree quadtree complexity theorem quad trie quantum computation queue quicksort R Rabin–Karp string-search algorithm radix quicksort radix sort ragged matrix Raita algorithm random-access machine random number generation randomization randomized algorithm randomized binary search tree randomized complexity randomized polynomial time randomized rounding randomized search tree Randomized-Select random number generator random sampling range (function) range sort Rank (graph theory) Ratcliff/Obershelp pattern recognition reachable rebalance recognizer rectangular matrix rectilinear rectilinear Steiner tree recurrence equations recurrence relation recursion recursion termination recursion tree recursive (computer science) recursive data structure recursive doubling recursive language recursively enumerable language recursively solvable red–black tree reduced basis reduced digraph reduced ordered binary decision diagram (ROBDD) reduction reflexive relation regular decomposition rehashing relation (mathematics) relational structure relative performance guarantee relaxation relaxed balance rescalable restricted universe sort result cache Reverse Colussi Reverse Factor R-file Rice's method right rotation right-threaded tree root root balance rooted tree rotate left rotate right rotation rough graph RP R+-tree R*-tree R-tree run time S saguaro stack saturated edge SBB tree scan scapegoat tree search algorithm search tree search tree property secant search secondary clustering memory segment select algorithm select and partition selection problem selection sort select kth element select mode self-loop self-organizing heuristic self-organizing list self-organizing sequential search semidefinite programming separate chaining hashing separator theorem sequential search set set cover set packing shadow heap shadow merge shadow merge insert shaker sort Shannon–Fano coding shared memory Shell sort Shift-Or Shor's algorithm shortcutting shortest common supersequence shortest common superstring shortest path shortest spanning tree shuffle shuffle sort sibling Sierpiński curve Sierpinski triangle sieve of Eratosthenes sift up signature Simon's algorithm simple merge simple path simple uniform hashing simplex communication simulated annealing simulation theorem single-destination shortest-path problem single-pair shortest-path problem single program multiple data single-source shortest-path problem singly linked list singularity analysis sink sinking sort skd-tree skew-symmetry skip list skip search slope selection Smith algorithm Smith–Waterman algorithm smoothsort solvable problem