Per the lecture, an algorithm is best described as
Aa finite, unambiguous sequence of steps for a defined problem
Bany program written in a high-level language
Ca benchmark suite for comparing CPU speeds
Da snippet of pseudo-code that compiles to assembly
Answer & Solution
Correct answer: A. a finite, unambiguous sequence of steps for a defined problem
An algorithm is language-agnostic and machine-agnostic: a finite, unambiguous sequence of steps for a defined problem. A program is one specific implementation; a benchmark suite is a measurement harness; pseudo-code is a writing notation. The algorithm itself is the abstract recipe.
Related questions
An NP-hard problem differs from an NP-complete one because NP-hard problemsThe first problem proved to be NP-complete wasA problem X is NP-complete if and only ifWhy does theoretical computer science draw the line at 'polynomial-time' for tractability?Which set inclusion is established (i.e., proven, not open)?The class NP is the set of decision problems for whichFloyd-Warshall detects the presence of a negative cycle byTopological sort is well-defined for