ソートアルゴリズムから始めるのが良いだろう。簡単なもの（選択ソート、バブルソート）から、中程度のもの（シェルソート、マージソート、クイックソート）、難しいもの（ヒープソート、ティムソート、線形空間複雑度を持つマージソート）まで、様々な選択肢がある。
多くの選択肢がある異なる分野は、グラフアルゴリズムである。深さ優先探索や幅優先探索のような簡単なものもある。トポロジカルソート（深さ優先探索を使用）や最小スパニングツリー（クラスカルのアルゴリズム）のような問題は中程度の難易度である。経路探索に関するアルゴリズムも数多くあり、最も基本的なものはダイクストラのアルゴリズムである。A*は、ダイクストラをヒューリスティックに拡張したアルゴリズムで、グラフについて仮定が可能であれば、より高速になる。フローネットワークもまた、Ford-FulkersonアルゴリズムやEdmonds-Karpアルゴリズムなど、興味深いアルゴリズムが数多く存在する分野である。
A good set of algorithms to get started with is sorting algorithms. There are many different options, from easy (selection sort, bubble sort), to medium (shell sort, mergesort, quicksort) to hard (heapsort, timsort, mergesort with linear space complexity).
A different field with many options is graph algorithms. There are easy options such as depth first search and breadth first search. Problems such as topological sorting (using depth-first search) and minimum spanning tree (Kruskal's algorithm) are of medium difficulty. There are also many algorithms related to pathfinding, the most fundamental being Dijkstra's algorithm. A* is an algorithm that extends Dijkstra by a heuristic that makes it faster if assumptions can be made about the graph. Flow networks are also a field with many interesting algorithms such as the Ford–Fulkerson algorithm or the Edmonds–Karp algorithm.