2.2.1 Programming techniques Flashcards

1
Q

What makes a problem computable?

A
  • Can be solved by an algorithm
  • In a finite, reasonable time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is decomposition?

A
  • Continually breaking down a problem into smaller subproblems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is divide and conquer?

A
  • Divide: halving size of problem
  • Conquer: solve subproblems
  • Merge: solutions combined to form final solution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the advantages of divide and conquer?

A
  • Simplifies very complex problems
  • Lower time complexity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the disadvtages of divide and conquer?

A
  • Stack overflow
  • Difficult to trace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is backtracking?

A
  • Methodically visitng each path
  • Building a solution based on correct paths
  • If path is incorrect backtracks to previous stage and takes alternative path
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is data mining?

A
  • Idetify patterns or outliers in large sets of data
  • Spot trends and correlations which arent obvious
  • Can be used to make predictions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are heuristics?

A
  • Non-optimal approach
  • Not all data is gathered
  • Approximate solution
  • Used when its unfeasible to look at all eventualities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is pipelining?

A
  • Completing subtasks simultaneously
  • Using the output of one subtask as the input for another
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is visualisation?

A
  • Data represented visually (graphs,trees etc) to make it easier to understand
  • Helpful to identify trends that may not be obvious otherwise
How well did you know this?
1
Not at all
2
3
4
5
Perfectly