Skip to content

Commit d1fbf64

Browse files
authored
Merge pull request jwasham#618 from ramazansakin/master
Update README.md
2 parents 39fc885 + 3b504bb commit d1fbf64

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,9 @@ Here are some mistakes I made so you'll have a better experience.
371371
### 1. You Won't Remember it All
372372

373373
I watched hours of videos and took copious notes, and months later there was much I didn't remember. I spent 3 days going
374-
through my notes and making flashcards so I could review.
374+
through my notes and making flashcards, so I could review.
375375

376-
Read please so you won't make my mistakes:
376+
Please, read so you won't make my mistakes:
377377

378378
[Retaining Computer Science Knowledge](https://startupnextdoor.com/retaining-computer-science-knowledge/).
379379

@@ -384,7 +384,7 @@ A course recommended to me (haven't taken it): [Learning how to Learn](https://w
384384
To solve the problem, I made a little flashcards site where I could add flashcards of 2 types: general and code.
385385
Each card has different formatting.
386386

387-
I made a mobile-first website so I could review on my phone and tablet, wherever I am.
387+
I made a mobile-first website, so I could review on my phone and tablet, wherever I am.
388388

389389
Make your own for free:
390390

@@ -448,7 +448,7 @@ You don't need all these. You need only [one language for the interview](#pick-o
448448
Why code in all of these?
449449
- 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)
450450
- Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python or Java))
451-
- 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)
451+
- 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)
452452

453453
I may not have time to do all of these for every subject, but I'll try.
454454

@@ -468,7 +468,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
468468
- [ ] [The C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
469469
- This is a short book, but it will give you a great handle on the C language and if you practice it a little
470470
you'll quickly get proficient. Understanding C helps you understand how programs and memory work.
471-
- [answers to questions](https://github.com/lekkas/c-algorithms)
471+
- [Answers to questions](https://github.com/lekkas/c-algorithms)
472472

473473
- [ ] **How computers process a program:**
474474
- [ ] [How CPU executes a program (video)](https://www.youtube.com/watch?v=XM4lGflQFvA)
@@ -481,7 +481,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
481481

482482
- Nothing to implement
483483
- There are a lot of videos here. Just watch enough until you understand it. You can always come back and review.
484-
- If some of the lectures are too mathy, you can jump down to the bottom and watch the discrete mathematics videos to get the background knowledge.
484+
- If some lectures are too mathy, you can jump down to the bottom and watch the discrete mathematics videos to get the background knowledge.
485485
- [ ] [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4)
486486
- [ ] [Big O Notations (general quick tutorial) (video)](https://www.youtube.com/watch?v=V6mKVRU1evU)
487487
- [ ] [Big O Notation (and Omega and Theta) - best mathematical explanation (video)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&index=2&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN)
@@ -515,7 +515,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
515515
- [Resizing arrays (video)](https://archive.org/details/0102WhatYouShouldKnow/03_01-resizableArrays.mp4)
516516
- [ ] Implement a vector (mutable array with automatic resizing):
517517
- [ ] Practice coding using arrays and pointers, and pointer math to jump to an index instead of using indexing.
518-
- [ ] new raw data array with allocated memory
518+
- [ ] New raw data array with allocated memory
519519
- can allocate int array under the hood, just not use its features
520520
- start with 16, or if starting number is greater, use power of 2 - 16, 32, 64, 128
521521
- [ ] size() - number of items
@@ -554,7 +554,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
554554
(for when you pass a pointer to a function that may change the address where that pointer points)
555555
This page is just to get a grasp on ptr to ptr. I don't recommend this list traversal style. Readability and maintainability suffer due to cleverness.
556556
- [Pointers to Pointers](https://www.eskimo.com/~scs/cclass/int/sx8.html)
557-
- [ ] implement (I did with tail pointer & without):
557+
- [ ] Implement (I did with tail pointer & without):
558558
- [ ] size() - returns number of data elements in list
559559
- [ ] empty() - bool returns true if empty
560560
- [ ] value_at(index) - returns the value of the nth item (starting at 0 for first)
@@ -620,7 +620,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
620620
- [Instant Uploads And Storage Optimization In Dropbox (video)](https://www.coursera.org/lecture/data-structures/instant-uploads-and-storage-optimization-in-dropbox-DvaIb)
621621
- [Distributed Hash Tables (video)](https://www.coursera.org/lecture/data-structures/distributed-hash-tables-tvH8H)
622622

623-
- [ ] implement with array using linear probing
623+
- [ ] Implement with array using linear probing
624624
- hash(k, m) - m is size of hash table
625625
- add(key, value) - if key already exists, update value
626626
- exists(key)
@@ -654,13 +654,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
654654
- [Binary: Plusses & Minuses (Why We Use Two's Complement) (video)](https://www.youtube.com/watch?v=lKTsv6iVxV4)
655655
- [1s Complement](https://en.wikipedia.org/wiki/Ones%27_complement)
656656
- [2s Complement](https://en.wikipedia.org/wiki/Two%27s_complement)
657-
- [ ] count set bits
657+
- [ ] Count set bits
658658
- [4 ways to count bits in a byte (video)](https://youtu.be/Hzuzo9NJrlc)
659659
- [Count Bits](https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan)
660660
- [How To Count The Number Of Set Bits In a 32 Bit Integer](http://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer)
661-
- [ ] swap values:
661+
- [ ] Swap values:
662662
- [Swap](https://bits.stephan-brumme.com/swap.html)
663-
- [ ] absolute value:
663+
- [ ] Absolute value:
664664
- [Absolute Integer](https://bits.stephan-brumme.com/absInteger.html)
665665

666666
## Trees
@@ -748,7 +748,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
748748
- [ ] Notes:
749749
- Implement sorts & know best case/worst case, average complexity of each:
750750
- no bubble sort - it's terrible - O(n^2), except when n <= 16
751-
- [ ] stability in sorting algorithms ("Is Quicksort stable?")
751+
- [ ] Stability in sorting algorithms ("Is Quicksort stable?")
752752
- [Sorting Algorithm Stability](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability)
753753
- [Stability In Sorting Algorithms](http://stackoverflow.com/questions/1517793/stability-in-sorting-algorithms)
754754
- [Stability In Sorting Algorithms](http://www.geeksforgeeks.org/stability-in-sorting-algorithms/)
@@ -829,7 +829,7 @@ Graphs can be used to represent many problems in computer science, so this secti
829829
- adjacency list
830830
- adjacency map
831831
- Familiarize yourself with each representation and its pros & cons
832-
- BFS and DFS - know their computational complexity, their tradeoffs, and how to implement them in real code
832+
- BFS and DFS - know their computational complexity, their trade offs, and how to implement them in real code
833833
- When asked a question, look for a graph-based solution first, then move on if none.
834834

835835
- [ ] MIT(videos):
@@ -1513,7 +1513,7 @@ You're never really done.
15131513

15141514
- ### Information theory (videos)
15151515
- [Khan Academy](https://www.khanacademy.org/computing/computer-science/informationtheory)
1516-
- more about Markov processes:
1516+
- More about Markov processes:
15171517
- [Core Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation)
15181518
- [Core Implementing Markov Text Generation](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation)
15191519
- [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through)
@@ -1668,7 +1668,7 @@ You're never really done.
16681668
- [Video](https://www.youtube.com/watch?v=QnPl_Y6EqMo)
16691669

16701670
- **Red/black trees**
1671-
- these are a translation of a 2-3 tree (see below)
1671+
- These are a translation of a 2-3 tree (see below).
16721672
- In practice:
16731673
Red–black trees offer worst-case guarantees for insertion time, deletion time, and search time.
16741674
Not only does this make them valuable in time-sensitive applications such as real-time applications,
@@ -1707,7 +1707,7 @@ You're never really done.
17071707
- [K-Ary Tree](https://en.wikipedia.org/wiki/K-ary_tree)
17081708

17091709
- **B-Trees**
1710-
- fun fact: it's a mystery, but the B could stand for Boeing, Balanced, or Bayer (co-inventor)
1710+
- Fun fact: it's a mystery, but the B could stand for Boeing, Balanced, or Bayer (co-inventor).
17111711
- In Practice:
17121712
B-Trees are widely used in databases. Most modern filesystems use B-trees (or Variants). In addition to
17131713
its use in databases, the B-tree is also used in filesystems to allow quick random access to an arbitrary
@@ -1765,7 +1765,7 @@ You're never really done.
17651765
- [Divide & Conquer: Convex Hull, Median Finding](https://www.youtube.com/watch?v=EzeYI7p9MjU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=2)
17661766

17671767
- ### Discrete math
1768-
- see videos below
1768+
- See videos below
17691769

17701770
- ### Machine Learning
17711771
- Why ML?

0 commit comments

Comments
 (0)