John Washam преди 9 години
родител
ревизия
96648221cb
променени са 1 файла, в които са добавени 13 реда и са изтрити 9 реда
  1. 13 9
      plan.txt

+ 13 - 9
plan.txt

@@ -175,7 +175,7 @@ Then test it out on a computer to make sure it's not buggy from syntax.
     * - Space
         - contiguous in memory, so proximity helps performance
         - space needed = (array capacity, which is >= n) * size of item, but even if 2n, still O(n)
-Singly Linked List
+Linked Lists
     * - Description:
         * - https://www.coursera.org/learn/data-structures/lecture/kHhgK/singly-linked-lists
         * - Lynda.com:
@@ -196,15 +196,16 @@ Singly Linked List
         * - pop_front() - remove front item
         * - push_back(value) - adds an item at the end
         * - pop_back() - removes end item
-        - insert(index, value) - insert value at index, so current item at that index is pointed to by next at index
-        - erase(index) - removes node at given index
+        * - value_at(index) - returns the value of the nth item
+        * - insert(index, value) - insert value at index, so current item at that index is pointed to by next at index
+        * - erase(index) - removes node at given index
+        - value_n_from_end(n) - returns the value of the node at nth position from the end of the list
+        - reverse() - reverses the list
         - remove(value) - remove all elements with this value
         - find(value) - return pointer to the node that has this value
-        - reverse() - reverses the list
-Doubly-linked List
+    Doubly-linked List
         - Description: https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists
-        - implement:
-            - same as above for singly linked list
+        - No need to implement
 Stacks
     - see: https://class.coursera.org/algs4partI-010/lecture
     - https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks
@@ -302,12 +303,15 @@ Graphs:
     - familiarize yourself with each representation and its pros & cons
     - BFS and DFS - know their computational complexity, their tradeoffs, and how to implement them in real code
     - If you get a chance, try to study up on fancier algorithms:
-        - Dijkstra
+        - Dijkstra's algorithm
+            - https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
         - A*
+            - https://en.wikipedia.org/wiki/A*_search_algorithm
     - when asked a question, look for a graph-based solution first, then move on if none.
 Other data structures:
     - You should study up on as many other data structures and algorithms as possible
-    - You should especially know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem, and be able to recognize them when an interviewer asks you them in disguise.
+    - You should especially know about the most famous classes of NP-complete problems, such as traveling salesman
+            and the knapsack problem, and be able to recognize them when an interviewer asks you them in disguise.
     - Know what NP-complete means.
 Recursion
     -  when it is appropriate to use it