This commit is contained in:
Evgeniy Ilyushin
2018-01-10 09:05:19 +03:00
parent 964b27f023
commit 4c265461bb

View File

@ -793,34 +793,34 @@ Google не возьмёт тебя на работу.
- [ ] delete_value - [ ] delete_value
- [ ] get_successor // возвращает следующее максимальное значение в дереве после переданного, -1 если none - [ ] get_successor // возвращает следующее максимальное значение в дереве после переданного, -1 если none
- ### Heap / Priority Queue / Binary Heap - ### Куча / Приоритетная очередь / Бинарная куча
- visualized as a tree, but is usually linear in storage (array, linked list) - визуализируется как дерево, но обычно храниться в линейных структурах данных (массив, связанные список)
- [ ] [Heap](https://en.wikipedia.org/wiki/Heap_(data_structure)) - [ ] [Куча](https://en.wikipedia.org/wiki/Heap_(data_structure))
- [ ] [Introduction (video)](https://www.coursera.org/learn/data-structures/lecture/2OpTs/introduction) - [ ] [Введение (видео)](https://www.coursera.org/learn/data-structures/lecture/2OpTs/introduction)
- [ ] [Naive Implementations (video)](https://www.coursera.org/learn/data-structures/lecture/z3l9N/naive-implementations) - [ ] [Наивная реализация (видео)](https://www.coursera.org/learn/data-structures/lecture/z3l9N/naive-implementations)
- [ ] [Binary Trees (video)](https://www.coursera.org/learn/data-structures/lecture/GRV2q/binary-trees) - [ ] [Бинарные деревья (видео)](https://www.coursera.org/learn/data-structures/lecture/GRV2q/binary-trees)
- [ ] [Tree Height Remark (video)](https://www.coursera.org/learn/data-structures/supplement/S5xxz/tree-height-remark) - [ ] [Замечания к высоте дерева (видео)](https://www.coursera.org/learn/data-structures/supplement/S5xxz/tree-height-remark)
- [ ] [Basic Operations (video)](https://www.coursera.org/learn/data-structures/lecture/0g1dl/basic-operations) - [ ] [Базовые операции (видео)](https://www.coursera.org/learn/data-structures/lecture/0g1dl/basic-operations)
- [ ] [Complete Binary Trees (video)](https://www.coursera.org/learn/data-structures/lecture/gl5Ni/complete-binary-trees) - [ ] [Полные двоичные деревья (видео)](https://www.coursera.org/learn/data-structures/lecture/gl5Ni/complete-binary-trees)
- [ ] [Pseudocode (video)](https://www.coursera.org/learn/data-structures/lecture/HxQo9/pseudocode) - [ ] [Псевдокоде (видео)](https://www.coursera.org/learn/data-structures/lecture/HxQo9/pseudocode)
- [ ] [Heap Sort - jumps to start (video)](https://youtu.be/odNJmw5TOEE?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3291) - [ ] [Пирамидальная сортировка - начальные шаги (видео)](https://youtu.be/odNJmw5TOEE?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3291)
- [ ] [Heap Sort (video)](https://www.coursera.org/learn/data-structures/lecture/hSzMO/heap-sort) - [ ] [Пирамидальная сортировка (видео)](https://www.coursera.org/learn/data-structures/lecture/hSzMO/heap-sort)
- [ ] [Building a heap (video)](https://www.coursera.org/learn/data-structures/lecture/dwrOS/building-a-heap) - [ ] [Построение кучи (видео)](https://www.coursera.org/learn/data-structures/lecture/dwrOS/building-a-heap)
- [ ] [MIT: Heaps and Heap Sort (video)](https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb) - [ ] [MIT: Кучи и пирамидальная сортировка (видео)](https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
- [ ] [CS 61B Lecture 24: Priority Queues (video)](https://www.youtube.com/watch?v=yIUFT6AKBGE&index=24&list=PL4BBB74C7D2A1049C) - [ ] [CS 61B Лекция 24: Приоритетные очереди (видео)](https://www.youtube.com/watch?v=yIUFT6AKBGE&index=24&list=PL4BBB74C7D2A1049C)
- [ ] [Linear Time BuildHeap (max-heap)](https://www.youtube.com/watch?v=MiyLo8adrWw) - [ ] [Построение кучи за линейное время (max-heap)](https://www.youtube.com/watch?v=MiyLo8adrWw)
- [ ] Implement a max-heap: - [ ] Реализация max-heap:
- [ ] insert - [ ] insert
- [ ] sift_up - needed for insert - [ ] sift_up - необходима для вставки
- [ ] get_max - returns the max item, without removing it - [ ] get_max - возвращает максимальный элемент, не удаляя его
- [ ] get_size() - return number of elements stored - [ ] get_size() - возвращает количество хранящихся элементов
- [ ] is_empty() - returns true if heap contains no elements - [ ] is_empty() - возвращает true если куча пустая
- [ ] extract_max - returns the max item, removing it - [ ] extract_max - возвращает максимальный элемент, удаляя его
- [ ] sift_down - needed for extract_max - [ ] sift_down - необходима для extract_max
- [ ] remove(i) - removes item at index x - [ ] remove(i) - удаляет элемент по индексу x
- [ ] heapify - create a heap from an array of elements, needed for heap_sort - [ ] heapify - создает кучу из элементов массива, необходима для heap_sort
- [ ] heap_sort() - take an unsorted array and turn it into a sorted array in-place using a max heap - [ ] heap_sort() - берет не отсортированный массив и делает его отсортированным, не используя дополнительной памяти, кроме занимаемой самим массивом используя max heap
- note: using a min heap instead would save operations, but double the space needed (cannot do in-place). - важно: можно использовать min heap, но тогда понадобиться доболнительная память.
## Sorting ## Sorting