Analysis of Algorithms

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/14

flashcard set

Earn XP

Description and Tags

Flashcards about the analysis of algorithms, mathematical models, order of growth, and memory usage.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

15 Terms

1
New cards

What is the primary practical reason to analyze algorithms?

Avoid performance bugs.

2
New cards

What steps are involved in the scientific method applied to algorithm analysis?

Observe, hypothesize, predict, verify, and validate.

3
New cards

What is the 3-SUM problem?

Given N distinct integers, find how many triples sum to exactly zero.

4
New cards

What is the purpose of the doubling hypothesis?

To quickly estimate 'b' in a power-law relationship by running a program and doubling the input size.

5
New cards

What are the system-independent effects on experimental algorithmics?

Algorithm and input data.

6
New cards

What does total running time consist of?

The sum of (cost × frequency) for all operations.

7
New cards

What is cost model?

Use some basic operation as a proxy for running time.

8
New cards

What is considered to be the order of growth of f(N)?

If f(N) ~ c g(N) for some constant c > 0, then the order of growth of f(N) is g(N).

9
New cards

Name some common order-of-growth classifications.

1, log N, N, N log N, N^2, N^3, and 2^N

10
New cards

What is the strategy behind binary search?

Compare key against middle entry; if too small, go left; if too big, go right; if equal, found.

11
New cards

What is the best-case scenario in types of analysis?

Lower bound on cost, determined by the 'easiest' input.

12
New cards

Define Big Theta Notation

Asymptotic order of growth

13
New cards

Define Big Oh Notation

Θ(N^2) and smaller; used to develop upper bounds.

14
New cards

Define Big Omega Notation

Θ(N^2) and larger; used to develop lower bounds.

15
New cards

What is examined to analyze memory?

Bits, Bytes, Megabytes, and Gigabytes