Java. Bogosort. Случайная сортировка.

preview_player
Показать описание
Специальный первоапрельский выпуск. Рассматриваем алгоритм случайной сортировки, с целью практического применения ;)

Поддержать канал на Boosty:

Наш чатик в Telegram:

Исходники:

Оглавление по алгоритмам:

Упоминаемые сортировки:

#arhitutorialsjava #ityoutubersru
Рекомендации по теме
Комментарии
Автор

о...., автор знает толк в извращениях...

John.Constantine.
Автор

Один из лучших каналов для начинающих и не очень. Как говориться просто о сложном

ВасилийЮдин-пы
Автор

Я внесу свои 5 копеек. При перемешивании массива надо быть честным и мешать так мешать. В данном случае рандом может выкинуть пару раз одинаковые значения и массив перемешается не совсем верно. надо сделать так, чтобы уже занятое место не могло участвовать в лотерее перемешивания. Я сделал перемешивание через вспомогательный массив, в котором все значения = -100. И случайно выброшенный индекс используется только, если на его месте не стоит -100. У меня вышел такой код

import java.util.Arrays;
import java.util.Random;

class HelloWorld {

public static void main(String[] args) {
int[] array = new int[] { 4, 3, 2, 1 };

while (!isArraySorted(array)) {
array = Arrays.copyOf(shuffle(array), array.length);

}
}

public static boolean isArraySorted(int[] arr) {
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[i - 1]) return false;
}
return true;
}


public static int[] shuffle(int[] arr) {
Random rand = new Random();
int[] temp = new int[arr.length];
Arrays.fill(temp, -100);

for (int i = 0; i < arr.length; i++) {
int current = arr[i];
int nextIndex = rand.nextInt(temp.length);
while (temp[nextIndex] != -100) nextIndex = rand.nextInt(arr.length);
temp[nextIndex] = current;
}
return temp;
}

}

IvanSedov-if
Автор

Сергей, благодарю тебя за то что ты делаешь, мне как начинающему прогеру стало проще когда я стал смотреть твои видео!! Если можешь, покажи пожалуйста Алгоритм Дейкстры:)

dematix
Автор

Сергей, спасибо за видос) Даёшь реактивку!)

alexshutov
Автор

Про медлительность вспомнил мультик из детства, намыливаем один пальчик смываем

MentorOfMentors
Автор

Супер. Спасибо. Только непонятно, зачем в век конкуренции за пользователей комуто умышленно замедлять работу приложения ради принуждения обновления железа. Разве нет других, более лояльных способов вынудить пользователей обновить железо???

LAZIO
Автор

У нас на проекте все через замедление работает... мы в этом профессионалы...😅

anton