Merge pull request #3 from redmou/master

Linked Lists section translation & amendment.
This commit is contained in:
Ilyushin Evgeniy 2017-05-02 21:50:45 +03:00 committed by GitHub
commit 6c14bfb45e

View File

@ -201,7 +201,7 @@ Google не возьмёт тебя на работу.
## Получи гугловское настроение ## Получи гугловское настроение
Напечатай знак "[future Googler](https://github.com/jwasham/google-interview-university/blob/master/extras/future-googler.pdf)" и смотри на приз. Напечатай знак "[future Googler](https://github.com/jwasham/google-interview-university/blob/master/extras/future-googler.pdf)" и не отводи глаз от желанной добычи.
[![future Googler sign](https://dng5l3qzreal6.cloudfront.net/2016/Oct/Screen_Shot_2016_10_04_at_10_13_24_AM-1475601104364.png)](https://github.com/jwasham/google-interview-university/blob/master/extras/future-googler.pdf) [![future Googler sign](https://dng5l3qzreal6.cloudfront.net/2016/Oct/Screen_Shot_2016_10_04_at_10_13_24_AM-1475601104364.png)](https://github.com/jwasham/google-interview-university/blob/master/extras/future-googler.pdf)
@ -613,38 +613,40 @@ Google не возьмёт тебя на работу.
- смежные в памяти, это помогает повысить производительность - смежные в памяти, это помогает повысить производительность
- необходимое пространство = (размер массива, который >= n) * размер элемента, но даже если 2n, по прежнему O(n) - необходимое пространство = (размер массива, который >= n) * размер элемента, но даже если 2n, по прежнему O(n)
- ### Linked Lists - ### Связные списки (Linked Lists)
- [ ] Description: - [ ] Описание:
- [ ] [Singly Linked Lists (video)](https://www.coursera.org/learn/data-structures/lecture/kHhgK/singly-linked-lists) - [ ] [Singly Linked Lists (video)](https://www.coursera.org/learn/data-structures/lecture/kHhgK/singly-linked-lists)
- [ ] [CS 61B - Linked Lists (video)](https://www.youtube.com/watch?v=sJtJOtXCW_M&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=5) - [ ] [CS 61B - Linked Lists (video)](https://www.youtube.com/watch?v=sJtJOtXCW_M&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=5)
- [ ] [C Code (video)](https://www.youtube.com/watch?v=QN6FPiD0Gzo) - [ ] [C Code (video)](https://www.youtube.com/watch?v=QN6FPiD0Gzo)
- not the whole video, just portions about Node struct and memory allocation. - не все видео целиком, только кусочки об узлах и распределении памяти.
- [ ] Linked List vs Arrays: - [ ] Связные списки vs Массивы:
- [Core Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/rjBs9/core-linked-lists-vs-arrays) - [Core Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/rjBs9/core-linked-lists-vs-arrays)
- [In The Real World Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/QUaUd/in-the-real-world-lists-vs-arrays) - [In The Real World Linked Lists Vs Arrays (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/QUaUd/in-the-real-world-lists-vs-arrays)
- [ ] [why you should avoid linked lists (video)](https://www.youtube.com/watch?v=YQs6IC-vgmo) - [ ] [why you should avoid linked lists (video)](https://www.youtube.com/watch?v=YQs6IC-vgmo)
- [ ] Gotcha: you need pointer to pointer knowledge: - [ ] Ага, попался: тебе нужны знания указетелей на указатели:
(for when you pass a pointer to a function that may change the address where that pointer points) (для тех случаев, когда ты передаешь указатель функции, которая может менять адрес, куда указывает указатель)
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. Это страница просто для того, чтобы понять указатели на указатели. Читабельность и обслуживаемость страдает
- [Pointers to Pointers](https://www.eskimo.com/~scs/cclass/int/sx8.html) из-за искусность.
- [ ] implement (I did with tail pointer & without): - [Указатели на указатели](https://www.eskimo.com/~scs/cclass/int/sx8.html)
- [ ] size() - returns number of data elements in list - [ ] воплотить в жизнь (я сделал это с помощью указателя на хвост и без):
- [ ] empty() - bool returns true if empty - [ ] size() - возвращает количество элементов в листе
- [ ] value_at(index) - returns the value of the nth item (starting at 0 for first) - [ ] empty() - возвращет true если список пуст
- [ ] push_front(value) - adds an item to the front of the list - [ ] value_at(n) - возращет значение n-го элемента, где 0 - первый элемент
- [ ] pop_front() - remove front item and return its value - [ ] push_front(value) - добавляет элемент в начало списка
- [ ] push_back(value) - adds an item at the end - [ ] pop_front() - удаляет первый и возращает его значение
- [ ] pop_back() - removes end item and returns its value - [ ] push_back(value) - добавляет элемент в конец списка
- [ ] front() - get value of front item - [ ] pop_back() - удаляет последний и возращает его значение
- [ ] back() - get value of end item - [ ] front() - возращает значение первого элемента в списке
- [ ] insert(index, value) - insert value at index, so current item at that index is pointed to by new item at index - [ ] back() - возращает значение последнего элемента в списке
- [ ] erase(index) - removes node at given index - [ ] insert(index, value) - помещает значение (value) в элемент по индексу (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 - [ ] erase(index) - удаляет узел (элемент) по данному индексу
- [ ] remove_value(value) - removes the first item in the list with this value - [ ] value_n_from_end(n) - возращает значение n-го элемента c конца списка
- [ ] Doubly-linked List - [ ] reverse() - реверсирует весь список
- [ ] remove_value(value) - удаляет первый элемент в списке с указанным значением (value)
- [ ] Двусвязный список
- [Description (video)](https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists) - [Description (video)](https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists)
- No need to implement - Можно не делать
- ### Stack - ### Stack
- [ ] [Stacks (video)](https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks) - [ ] [Stacks (video)](https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks)