Added gauntlet notes.
This commit is contained in:
parent
d4f157713e
commit
22b74937b5
40
plan.txt
40
plan.txt
|
@ -35,24 +35,42 @@
|
|||
* - Efficiency with Algorithms, Performance with Data Structures: https://youtu.be/fHNmRkzxHWs
|
||||
- review: https://www.youtube.com/watch?v=Rub-JsjMhWY
|
||||
|
||||
compilers:
|
||||
* - compilers:
|
||||
* - https://class.coursera.org/compilers-004/lecture/1
|
||||
* - https://class.coursera.org/compilers-004/lecture/2
|
||||
* - C++: https://www.youtube.com/watch?v=twodd1KFfGk
|
||||
* - Understanding Compiler Optimization (C++): https://www.youtube.com/watch?v=FnGCDLhaxKU
|
||||
|
||||
how computers process a program:
|
||||
- https://www.youtube.com/watch?v=42KTvGYQYnA
|
||||
- https://www.youtube.com/watch?v=Mv2XQgpbTNE
|
||||
- https://www.youtube.com/watch?v=h8T3PWauYF4
|
||||
* - how computers process a program:
|
||||
* - https://www.youtube.com/watch?v=42KTvGYQYnA
|
||||
* - https://www.youtube.com/watch?v=Mv2XQgpbTNE
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
The Gauntlet:
|
||||
Each day I take one subject from the list below, watch videos about that subject, and write an implementation in:
|
||||
C
|
||||
C++ - without using built-in types
|
||||
C++ - using built-in types, like STL's std::list for a linked list
|
||||
Python - without using built-in types
|
||||
and write tests to ensure I'm doing it right
|
||||
Why code in all of these?
|
||||
Practice, practice, practice, until I'm sick of it, and can do it with no problem (some have many edge cases and bookkeeping details to remember)
|
||||
Work within the raw constraints (without garbage collection (except Python))
|
||||
Make use of built-in types so I have experience using the built-in tools for real-world use (not going to write my own linked list implementation in production)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
linked lists
|
||||
- https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays
|
||||
- singly-linked
|
||||
- https://www.coursera.org/learn/data-structures/lecture/kHhgK/singly-linked-lists
|
||||
* - Description: https://www.coursera.org/learn/data-structures/lecture/kHhgK/singly-linked-lists
|
||||
* - C Code (can jump to 6 minutes in): https://www.youtube.com/watch?v=KjtPAW5jyo8
|
||||
- Java Code: https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/uwobd/core-java-code-for-a-linked-list
|
||||
- doubly-linked
|
||||
- https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists
|
||||
- Description: https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists
|
||||
- reverse a singly-linked list
|
||||
- why you should avoid linked lists:
|
||||
- https://www.youtube.com/watch?v=YQs6IC-vgmo
|
||||
stacks
|
||||
- see: https://class.coursera.org/algs4partI-010/lecture
|
||||
- https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks
|
||||
|
@ -62,6 +80,12 @@ queues
|
|||
arrays
|
||||
- https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays
|
||||
- https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays
|
||||
- Time
|
||||
- O(1) to add/remove at end (amortized for allocations for more space), index, or update
|
||||
- O(n) to insert/remove elsewhere
|
||||
- Space
|
||||
- contiguous in memory, so proximity helps performance
|
||||
- space needed = size of object * number of items to store
|
||||
Vectors
|
||||
- Vector calculus ?
|
||||
heaps
|
||||
|
|
Loading…
Reference in New Issue