Network flow theory is surveyed from the viewpoint of algorithmic complexity as well as practicality based on computational experiments.