1.2.7: be able to use logical reasoning and test data to evaluate an algorithm's fitness for purpose and efficiency (number of compares, number of passes through a loop, use of memory)
| Keyword | Definition |
|---|---|
| algorithm | step by step instructions to solve a problem |
| boundary data | test data that is on the edge of what is acceptable for that data type |
| efficiency | how quickly an algorithm solves a problem or how much memory an algorithm needs |
| erroneous data | test data cannot be processed (too large, too small or wrong data type) |
| fitness for purpose | how much of the problem the code for an algorithm actually solves |
| iteration | a task that is repeated in an algorithm |
| logical reasoning | being able to compare two algorithms to decide which one is most suitable for solving a problem |
| memory use | the largest amount of values an algorithm needs to store at one time |
| number of compares | the amount of values a algorithm may have to look at before it finishes searching or sorting |
| number of passes | the amount of iterations needed before an algorithm finishes searching or sorting |
| test data | the exact values used as inputs to test an algorithm |
| valid data | test data that fall within the boundaries of acceptable values for that data type |