design analysis mid

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/30

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 10:40 AM on 3/16/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

31 Terms

1
New cards

Space Efficiency or Complexity

The amount of computer space or memory required by an algorithm to complete its execution and produce the result

2
New cards

Constant Space Complexity

Space complexity that remains the same regardless of input size

3
New cards

Linear Space Complexity

Space complexity that increases proportionally with input size

4
New cards

Instruction space

Amount of memory used to store a compiled version of instructions

5
New cards

Data space

Amount of memory used to store all variables and constants

6
New cards

Run-time Stack Space

Amount of memory used to store information of partially executed functions during function calls

7
New cards

Time Efficiency or Complexity

Amount of computer time required for an algorithm to execute

8
New cards

T(n)

Amount of computer time required by each operation to execute

9
New cards

Cop

Amount of computer time required for a single operation in each line

10
New cards

C(n)

Amount of computer time required by each operation for all its repetitions

11
New cards

Constant Time Complexity

Time complexity where execution time does not change with input size

12
New cards

Linear Time Complexity

Time complexity where execution time increases proportionally with input size

13
New cards

Asymptotic Notations

Mathematical languages used to describe algorithm growth rate as input size increases

14
New cards

Big-O Notation

Describes the asymptotic upper bound or worst-case growth rate of an algorithm. Also known as Landau’s symbol

15
New cards

Big-Omega Notation

Describes the asymptotic lower bound or best-case growth rate of an algorithm

16
New cards

Big-Theta Notation

Describes the asymptotic tight bound of an algorithm’s growth rate

17
New cards

Recursive

A function or method that solves a problem by calling itself on smaller instances

18
New cards

Base case

Simplest instance of a recursive problem that cannot be decomposed further

19
New cards

Recursive step

Part of recursion that breaks a problem into smaller instances and recombines results

20
New cards

Recurrence Relation

Equation that defines a function in terms of itself with smaller arguments

21
New cards

Substitution Method

Method used to solve recurrences by guessing and verifying the solution using induction

22
New cards

Recursion Tree Method

suitable for generating guesses for the substitution method and promoting intuition

23
New cards

Master Method

Technique used to determine time complexity of divide-and-conquer recurrences of the form T(n) = aT(n/b) + f(n)

24
New cards

Steps to solve recurrence relations using recursion tree method

draw a recursion tree. Determine the cost of each level, total number of levels, number of nodes in the last last level, and cost of the last level. Add the cost of all the levels of the recursion tree and simplify the expression so obtained in terms of asymptotic notation

25
New cards

When is master theorem not applicable?

a is not constant, the difference f(n) and n logba is not polynomial m, a < 1 cannot have less than one sub problem, f(n) is not positive

26
New cards

Steps of substitution method

guess the form of the solution, verify by mathematical induction, solve constants to show that the solution works

27
New cards

The proof consists two steps

  • The basis (base case or boundary) or induction goal. (T(0)=time to solve problem of size 0)

  • The induction hypothesis. (T(n) = time to solve the problem of size n)

28
New cards

Computer’s speed

An algorithm may run faster in one machine but not to another machine because it depends on the computers speed. Limited computer memory affects the efficiency of the algorithm

29
New cards

Quality of the program implementing the algorithm

Running complex programs is difficult as compared to running simple programs, usually it depends on the input size like sorting algorithm that does better on small lists but slower on longer lists.

30
New cards

Compiler used in generating the machine code

The use of compiler generating the machine code affects the efficiency of the algorithm because once in the process of compilation, the compiler effectively controls the final configuration of hardware and how it operates.

31
New cards

Algorithm’s growth rate

These are set of languages that allow us to analyze an algorithm’s running time to asymptotic analysis by identifying its behavior as the input size for the algorithm increases