My notes and snippets from Udacity's nanodegree program:
Data structures and Algorithms
- Control structures
- Function and generators
- Classes
Techniques and steps to split a problem and deliver a solution.
Problem
Given your birthday and the current date, calculate your age in days. Compensate for leap days. Assume that the birthday and current date are correct days (and no time travel). Simply put, if you were born 1 Jan 2012 and todays date is 2 Jan 2012 you are 1 day old.
Check: How to solve problems (Notes)
When we refer to the efficiency of a program, we aren't just thinking about its speed—we're considering both the time it will take to run the program, and the amount of space the program will require in the computer's memory. Often there will be a trade-off between the two, where you can design a program that runs faster by selecting a data structure that takes up more space—or vice versa.
Check: Efficiency (Notes)