Skip to main content
This guide covers the broader computer-science notation stack in LaTeX: algorithms, graph notation, asymptotic complexity, and related mathematical symbols.
Looking for pseudocode? Use the focused LaTeX pseudocode guide for algorithm, algorithmicx, and algpseudocode examples.

Essential Algorithm Packages

Basic Pseudocode

Simple Algorithm Structure

Control Structures

Rendered Output

The algorithmicx package produces formatted pseudocode with proper indentation:\State produces a simple statement line\If{condition} produces: if condition then\For{$i = 1$ \textbf{to} $n$} produces: for i=1i = 1 to nn do

Sorting Algorithms

Merge Sort

Graph Algorithms

Dijkstra’s Algorithm

Complexity Analysis

Big O Notation

Complexity Classes

Data Structures

Binary Search Tree Operations

Hash Table Operations

Dynamic Programming

Longest Common Subsequence

Mathematical Algorithms

Euclidean Algorithm

Machine Learning Algorithms

Gradient Descent

Parallel Algorithms

Parallel Merge Sort

Recurrence Relations

Solving Recurrences

Algorithm Analysis Proofs

Correctness Proofs

Best Practices

Clear Variable Names

Use descriptive variable names and consistent notation

Proper Indentation

Use consistent indentation to show algorithm structure

Complexity Analysis

Always include time and space complexity analysis

Invariants and Proofs

Document loop invariants and correctness proofs

Common Algorithm Notation

Troubleshooting

Common issues:
  • Missing algorithm package: Install algorithm and algorithmicx
  • Line numbering: Use [1] option in algorithmic environment
  • Indentation problems: Check matching \If/\EndIf pairs
  • Symbol conflicts: Some symbols may conflict with math mode

Further Reading

Mathematics Notation

Mathematical expressions and notation

Creating Tables

Complexity comparison tables

Code Listings

Including actual code implementations

Physics Notation

Scientific computing applications