Изменения

Перейти к: навигация, поиск

Терпеливая сортировка

11 байт добавлено, 19:21, 4 сентября 2022
м
rollbackEdits.php mass rollback
== Псевдокод ==
Map<E, E> previous
<font color = green>// формирование стопок</font>
HashMap<E,E> previous List<Stack<E>> createPiles(E[] source):
List<Stack<E>> piles
'''for''' i = 0..n - 1
<font color = green>// Получение отсортированного массива</font>
'''bool''' comparePiles(Stack<E> x, Stack<E> y):
return x.peek() < y.peek()
E[] getSortedArray(E[] source): List<Stack<E>> piles = createPiles(source): priorityQueuePriorityQueue<Stack<E>> q(piles, '''comparator: ''' = comparePiles)
'''for''' i = 0..n - 1
answer[i] = q.min().pop()
<font color = green>// Получение наибольшей возрастающей подпоследовательности</font>
E[] getLIS(List<Stack<E>> piles):
lis[n - 1] = piles[piles.size - 1].peek()
E prev = previous.get(lis[n-1])
'''for''' i = n - 2..0
lis[i] = prev
[[Категория: Дискретная математика и алгоритмы]]
[[Категория: СортировкаСортировки]]
1632
правки

Навигация