Test Flashcards
What is the definition of finiteness in algorithms?
An algorithm must always have a finite number of steps before it ends
It must have a defined endpoint or output and not enter an endless loop.
Define definiteness in the context of algorithms.
An algorithm needs to have exact definitions for each step
Clear and straightforward directions ensure that every step is understood and can be taken easily.
What are inputs in an algorithm?
Values supplied to the algorithm before its processing
These inputs come from a predetermined range of acceptable values.
What is meant by output in an algorithm?
One or more results produced after the algorithm completes its steps
The relationship between the input and the result should be clear.
Explain the effectiveness characteristic of an algorithm.
Stages must be straightforward to be carried out in finite time using basic operations
Every operation in the algorithm should be doable and practicable.
What does generality mean in terms of algorithms?
An algorithm should solve a group of issues rather than just one specific case
It should offer a generic fix that manages a variety of inputs.
What does modularity refer to in algorithm design?
The ability to break a problem down into small modules or steps
This is a basic definition of an algorithm.
Define correctness in the context of an algorithm.
When given inputs produce the desired output
It indicates that the algorithm was designed correctly.
What is maintainability in algorithm design?
The algorithm should be designed in a straightforward, structured way
This allows for redefinition without significant changes.
What does functionality mean in algorithms?
It takes into account various logical steps to solve a real-world problem
What is robustness in an algorithm?
An algorithm’s ability to define a problem clearly
What does user-friendly mean in the context of algorithms?
The algorithm should be easy to understand for the programmer
How does simplicity impact algorithms?
A simple algorithm is easier to understand
What is extensibility in algorithm design?
The algorithm should be usable by other designers or programmers
What is a brute force algorithm?
A straightforward approach that exhaustively tries all possible solutions
Suitable for small problem instances but may become impractical for larger ones.
Define a recursive algorithm.
A method that breaks a problem into smaller, similar subproblems and applies itself to solve them
It continues until reaching a base case.
What is an encryption algorithm?
Utilized to transform data into a secure, unreadable form using cryptographic techniques
What is a backtracking algorithm?
A trial-and-error technique used to explore potential solutions by undoing choices
Commonly employed in puzzles and optimization problems.
What is the purpose of a searching algorithm?
Designed to find a specific target within a dataset
What does a sorting algorithm do?
Aims to arrange elements in a specific order
This enhances data organization and retrieval.
What is a hashing algorithm?
Converts data into a fixed-size hash value for rapid data access
Commonly used in databases and password storage.
What is the divide and conquer algorithm?
Breaks a complex problem into smaller subproblems, solves them independently, and combines their solutions
What is a greedy algorithm?
Makes locally optimal choices at each step to find a global optimum
Useful for optimization problems but may not always lead to the best solution.
What is dynamic programming in algorithms?
Stores and reuses intermediate results to avoid redundant computations