General Topics Flashcards
First Six Chapters
What are the core tools for solving coding interview problems?
Data Structures and Algorithms
Questions to keep in mind when reading a coding interview problem:
- What is the input?
- What is the output?
- What is the ask?
- What transformation is needed?
What is a Data Structure (General Definition)?
A way to organize and manage data
What is a Data Structure (Precise Definition)?
The collection of 1) data values, 2) the relationships among those values and 3) the operations/functions that can be performed on those values.
What is Complexity Analysis
The process of determining how efficient and algorithm is.
What are the two types of complexity?
Time and Space.
What do we use Complexity Analysis for?
It is how we can measure how “good” an algorithm is compared to other algorithms.
What is Time Complexity?
A measure of how fast and algorithm runs.
What is Space Complexity?
A measure of how much auxilliary memory and algorithm takes up.
What is Big O notation?
Notation for describing time complexity and space complexity of algorithms.
Bit
Binary Digit
What is the fundamental unit of information in Computer Science?
Bit. Any data store in a computer is composed of bits.
What values can a bit be?
Either 0 or 1.
Byte
A grouping of 8 bits.
How many bits (or data values) can a byte represent?
If unsigned, 0 to 255 or 2^8 (staring at 0). If signed, -128 to 127 or -2^7 to (2^7 - 1)
Fixed-width Integer
An integer represented by a fixed number of bits, regardless of the value of the integer.
What does “O” stand for in “Big O notation?”
Order. It represents the order (i.e. rate) of growth of an algorithm’s running time and/or space requirements in relation to the size of the input.
What scenario of algorithm performance does Big O notation aim to emulate.
Worst-case or upper-bound performance.