Prog Paradigms and Data Structures Flashcards
Explain what is the asymptotic notation and why this is important.
In computer science, the asymptotic notation, represented by the Big O notation, is used to analyse the complexity of an algorithm according to the input size. It provides information about how long an algorithm will take to run in its worst-case scenario, considering a constantly growing input. This analysis can help the developer to predict how long an algorithm will take to run, helping to make better decisions concerning the algorithm design.
How linked lists work and why using pointers is important when implementing a linked list in C language.
Algorithm Design - Brute Force
Definition, Examples - Pros and Cons
Bubble Sort - Definition
Algorithm Design - Divide and Conquer
Definition, Examples and Diagram
Quick Sort - Definition
Merge Sort - Definition
Algorithm Design - Decrease and Conquer
Definition, Examples and Diagram
Binary Search - Definition
Selection Sort - Definition
Insertion Sort - Definition
Selection Sort x Insertion Sort
Algorithm Analyses - Give the 3 points and their definitions
Which algorithms tend to be less efficient and which tend to be more efficient?
Merge Sort - Memory Requirements and Stability
Quick Sort - Memory Requirements and Stability
Tim Sort - Definition and Steps
Big O - Complexities - provide the list of how it grows with their name, definition and examples
Bubble Sort - Big O Notation - Worst Case Scenario and Best Case Scenario
Quick Sort - Big O Notation - Worst Case Scenario and Best Case Scenario
Merge Sort - Big O Notation - Worst Case Scenario and Best Case Scenario
Selection Sort - Big O Notation - Worst Case Scenario and Best Case Scenario
Insertion Sort - Big O Notation - Worst Case Scenario and Best Case Scenario
Linear Search - Big O Notation - Worst Case Scenario and Best Case Scenario
Binary Search - Big O Notation - Worst Case Scenario and Best Case Scenario
Efficiency Comparison - definition, key aspects, formula and how to calculate log on the calculator
Structures - Definition and Code Example
Pointers - Definition
Referencing x Dereferencing
& Ampersand x * Asterisk
Pointer Application
Dynamic Memory - Stack Memory x Heap
Malloc () - Definition
Calloc () - Definition
Free () - Definition
Realloc () - Definition
Stacks - Definition, Diagram, Operators and Application
Queues - Definition, Diagram, Operators and Application
Linked Lists - Definition, Steps and the Structure
Binary Tree - Definition, Diagram and Structure
Imperative Languages x Declarative Languages
What is a program paradigm - definition, types and examples.
Procedural - Example, definition and Best Choice When:
Object Oriented Programming - Example, definition and Best Choice When:
OOP Principles
OOP Architecture
Logic - Example, definition and Best Choice When:
Reactive - Example, definition and Best Choice When:
Functional - Example, definition and Best Choice When:
Explain the importance of choosing the right pivot.
Merge and Quick sort which is recommend to the size of the array. Smaller or bigger.