Chapter 5: Algoithms Flashcards

1
Q

Formal definition of algorithm

A

An algorithm is an ordered set of unambiguous, executable steps that define a terminating process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Algorithm representation

Primitives:

Programming language:

A
  • Primitives: a well-defined set of building blocks from which algorithm representation can be constructed.
  • Programming language: a collection of primitives along with a collection of rules stating how the primitives can be combined.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a flow chart?

A

A flow chart is a picture of the separate steps of a process in a sequential order

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What’s pseudo code?

A

It’s a notational system in which algorithms can be expressed (less formal than real programming language code)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Loop control

A
  • Initialize : establish an initial state
  • Test: continue only if the current state fulfills the loop condition
  • Modify: change the state towards a termination state
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Iterative structures

A
  • Pre test loop: 0 try if condition false

- Post test loop: 1 try if condition false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Insertion sort

A
  • Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Recursion

A
  • The execution of a procedures leads to another execution of the procedure
  • Multiple activations of the procedure are formed, all but one of which are waiting for other activations to complete.
  • Recursion is a function or method that has the ability of calling itself to solve the problem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Algorithm efficiency

A
  • Measured as number of instructions executed
  • Big theta O with a - in it (and Big O) notation is used to represent efficiency classes:
    • insertion sort is Big theta(n^2)
    • sequential search is Big theta(n)
    • binary search is Big theta(log n)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Software verification

A
  • Static verification (code analysis) and testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly