Fundamental Principles and Concepts of Computing Flashcards
a set of well-defined instructions for performing a task or solving a problem.
Algorithm
Uses divide-and-conquer to sort elements by partitioning arrays.
A. Algorithm
B. QuickSort
C. Binary Search
D. MergeSort
B. QuickSort
Divides the list into halves, sorts them, and merges them.
A. Algorithm
B. QuickSort
C. Binary Search
D. MergeSort
D. MergeSort
Efficiently finds an element in a sorted list by repeatedly dividing the search interval in half.
A. Algorithm
B. Linear Search
C. Binary Search
D. MergeSort
C. Binary Search
Checks each element in a list until the target is found.
A. Algorithm
B. Linear Search
C. Binary Search
D. MergeSort
B. Linear Search
Store elements of the same type & used Ideally for indexing and iterating over elements
A. Stacks
B. Arrays
C. Linked Lists
D. Queues
B. Arrays
Specialized formats for organizing, processing, retrieving, and storing data.
Data Structure
Efficient for insertions and deletions.
A. Stacks
B. Arrays
C. Linked Lists
D. Queues
C. Linked Lists
Elements are added and removed from the same end & used for undo mechanisms in applications, parsing expressions.
A. Stacks
B. Arrays
C. Linked Lists
D. Queues
A. Stacks
Elements are added at one end and removed from the other & task scheduling, managing requests.
A. Stacks
B. Arrays
C. Linked Lists
D. Queues
D. Queues
Hierarchical data representation, search operations.
A. Queues
B. Trees
C. Graphs
D. Hash Tables
B. Trees
Consist of nodes (vertices) and edges (links) & represents networks, relationships, and dependencies.
A. Queues
B. Trees
C. Graphs
D. Hash Tables
C. Graphs
fast access to data
A. Queues
B. Trees
C. Graphs
D. Hash Tables
D. Hash Tables
Study of the amount of resources required by an algorithm to run, typically time and space.
Computational Complexity
Describes the upper bound of an algorithm’s running time or space requirements in terms of input size, helping to classify algorithms by their efficiency.
Big O Notation
Type of Big O Notation: regardless of input size.
A. Constant time [O(1)]
B. Linear time [O(n)]
C. Logarithmic time [O(log n)]
D. Quadratic time [O(n^2)]
A. Constant time [O(1)]
Type of Big O Notation:
grows proportionally with input size.
A. Constant time
B. Linear time
C. Logarithmic time
D. Quadratic time
B. Linear time
Type of Big O Notation: increases slowly with
input size.
A. Constant time
B. Linear time
C. Logarithmic time
D. Quadratic time
C. Logarithmic time
Type of Big O Notation:
common in simple sorting
algorithms like bubble sort.
A. Constant time
B. Linear time
C. Logarithmic time
D. Quadratic time
D. Quadratic time
Breaks the Main Task into a smaller task
A. Abstraction
B. Pattern Recognition
C. Decomposition
C. Decomposition
Focusing on the essential details while ignoring the irrelevant ones.
A. Abstraction
B. Pattern Recognition
C. Decomposition
A. Abstraction
Identifying patterns to simplify complex problems.
A. Abstraction
B. Pattern Recognition
C. Decomposition
B. Pattern Recognition