Тёмный

Java. Algorithm to find minimum element in array 

Sergey Arkhipov Java Tutorials
Подписаться 20 тыс.
Просмотров 50 тыс.
50% 1

A brief overview of the algorithm for finding the minimum element in an array

Опубликовано:

 

2 фев 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 95   
@user-bn9wc8db6s
@user-bn9wc8db6s 2 года назад
Всем доброго дня! Первый раз смотрю видео данного автора и хотел выразить благодарность за МАКСИМАЛЬНО простое объяснение данной темы!!!!
@arsadaul9910
@arsadaul9910 Месяц назад
Большое спасибо Сергей. Очень приятная музыка на фоне, идеально для изучения алгоритмов.
@anjelomanoranjan
@anjelomanoranjan 3 месяца назад
Спасибо! Серега, жду от тебя новых видео по Java! Ты один из моих любимых разработчиков.
@azatbaibosunov6308
@azatbaibosunov6308 2 года назад
Благодарю за проделанную вами работу. Ваши старание не пройдут даром, надеюсь на ваши успехи а также здоровья
@user-iq5wx7qq4v
@user-iq5wx7qq4v 3 года назад
Здравствуйте Сергей! Спасибо Вам большое за эти обучающие видео!
@AndreyDelay
@AndreyDelay 4 года назад
Спасибо, приятно слушать и смотреть
@tunermuner8815
@tunermuner8815 Год назад
Сергей здравствуйте, спасибо за ваш труд, очень доступно и доходчиво объясняете, до вас не помню ни одного автора по IT чтоб смог сложные вещи объяснить просто. Благодарю за курс и успехов Вам!
@ninelic.9259
@ninelic.9259 4 года назад
Спасибо за видео. Вы очень хорошо и доходчиво объясняете. Подписалась на канал. :-)
@user-zz9gf6ec9k
@user-zz9gf6ec9k 3 года назад
Мужик ты топ! Ты объяснил то, что за деньги не могут объяснить!
@shadowcode7752
@shadowcode7752 3 года назад
Лутший курс на ютубе по алгоритмам.
@Denis-wn1xr
@Denis-wn1xr Год назад
вас приятно слушать!
@user-qi8ws2se1z
@user-qi8ws2se1z 4 года назад
хоть изучаю js , но принцип понятен. спасибо!
@serhiimykhalchuk9350
@serhiimykhalchuk9350 3 года назад
Thank you very much! Now i understand how it works!
@user-te9fk1of8f
@user-te9fk1of8f 3 года назад
спасибо максимално понятно и просто обиснили)
@simplechannel7859
@simplechannel7859 4 года назад
Супер! Спасибо большое!!!
@user-li9be3jj3z
@user-li9be3jj3z Год назад
оч круто, вот такие уроки и нужны!
@MorevinoVillage
@MorevinoVillage 4 года назад
спасибо! Доходчиво.
@automanautomation9845
@automanautomation9845 2 года назад
Спасибо за видео
@leonidvr6455
@leonidvr6455 3 года назад
Все доходчиво , спс
@clannajebyan
@clannajebyan Год назад
Приветствую! С ООП и прочим особо проблем нет, но алгоритмы очень хромают. Подписался на ваш канал, благодарю за ваш труд!
@user-qy3od2yf6v
@user-qy3od2yf6v 9 месяцев назад
Спасибо
@85Koshka
@85Koshka 4 года назад
Spasibo!
@allazhmaka6861
@allazhmaka6861 Год назад
Клас. Спасибо!
@muhammettoytyyev4482
@muhammettoytyyev4482 3 года назад
спасибо))
@marsvenus6018
@marsvenus6018 4 года назад
Спасибо помог
@yaroslavdoloban6157
@yaroslavdoloban6157 3 года назад
Класс
@n00ble24
@n00ble24 4 года назад
cпасибо
@AlexUs3.14
@AlexUs3.14 2 года назад
Спасибо Вам, теперь я ваш подписчик, у меня трудности с учёбой, начал с нуля проходим урок по видеовебинару задают домашку, там задачи, а задачи такие даже которые не рассказывали как решать, начинаю что то делать, читать, в итоге приходится искать решение в интернете но при этом смотрю как люди, вот например на вашем примере решают, и тогда только разбираюсь как её сделать, хотя до начала решения задачи вроде бы в голове знаю как решить, а написать программу не получается, понимаю,что с нуля тяжело, может вы дадите совет, с чего вы начинали, как правильно начать. Спасибо вам большое за видео, ваш канал прям находка для меня)
@arhitutorials
@arhitutorials 2 года назад
К сожалению, это неизбежный этап в обучении. Нужно просто не бросать, стараться решать задачи и ждать, когда количество перейдет в качество. Мозг человека для программирования не приспособлен, ему нужно время на адаптацию, чтоб перестроиться и начать думать по компьютерному) В общем, могу посоветовать только пробовать дальше. В какой-то момент, может завтра, а может через месяц, в голове что-то переключится, и понимание появится. Хороший навык, который может помочь - научиться выполнять программу в уме. Умелый программист создает программу сначала у себя в голове, а за клавиатуру садится просто чтоб ее записать.
@krendelito
@krendelito 3 года назад
Приятная для глаз Dark тема оформления, как сделать чтобы переменные подчеркивались?? (Eclipse IDE for Java Developers, Version: 2018-09 (4.9.0), Build id: 20180917-180)
@cadillacwashere9153
@cadillacwashere9153 4 года назад
Добрый вечер, Сергей. Можно как-то связаться с тобой посредством ВК/Телеграм/Ватсап? Дело в том, что ты сделал всего одно видео разбора, как работает одномерный массив, я понял сразу логику как всё должно работать. Из 10 просмотренных видео, доходчивее всех объяснил - ты.
@arhitutorials
@arhitutorials 4 года назад
Привет. Для этого есть специальная группа в Telegram, мы там нормально общаемся. Ссылка на группу в шапке канала: t.me/ArhiTutorials
@askat25
@askat25 2 года назад
а почему вы считаете, что данные в GPS хранятся в массиве, не проще ли хранить в базе и запросом вытаскивать?
@HowItWorks
@HowItWorks 4 года назад
А что то типа такого: List numbers = Arrays.asList(1, 2, 3, 5, 7); Integer min = numbers.stream().reduce(Integer.MAX_VALUE, (left, right) -> left < right ? left : right);
@arhitutorials
@arhitutorials 4 года назад
Осмелюсь заметить, что у вас массив отсортирован по возрастанию, по этому во всем этом нет необходимости) А если серьезно, то есть именно классическая запись алгоритма, ее всегда разбирают одной из первых в курсе информатики. А с reduce - это то же алгоритм, но чтоб его показать, надо сначала объяснить, что означает такая запись, а это не так уж просто. Чтоб найти минимальный элемент в массиве, вовсе не обязательно знать о монадах и функторах)
@HowItWorks
@HowItWorks 4 года назад
@@arhitutorials так то согласен с вами. Это потом уж приходят к пониманию о чистой функции, побочных эффектах и утечек памяти.
@andriymr.x8175
@andriymr.x8175 4 года назад
А ще можна так: int min = Arrays.stream(arr).reduce(arr[0], Math::min);
@Mr.J248
@Mr.J248 2 года назад
Как найти минимальный элемент по диагонали)))Подскажите пожалуйста
@John_Smith_Java
@John_Smith_Java Год назад
Надо же, в школе проходят алгоритмы! Интересно, а в каком классе? Помню, у меня в школе информатика была только в 10-11 классах - с 93 по 95 год. Тогда проходили Basic и Pascal😀
@arhitutorials
@arhitutorials Год назад
В 11-м классе на уроке информатики. Да, на бейсике пытались научить программировать)
@KirillKirillKirill
@KirillKirillKirill 2 года назад
Добрый день! Подскажите пожалуйста, почему в цикле начинается с 1 ячейки проверка? Как так он пройдёт по всем параметрам если игнорирует "0" ячейку?
@arhitutorials
@arhitutorials 2 года назад
Значение из нулевой ячейки до начала цикла уже присвоено в минимальный элемент, по этому начинать можно с ячейки с индексом 1.
@diomnas2647
@diomnas2647 2 года назад
Здравствуйте, а как повторить подобное для двумерного массива? при условии что нужен лишь один самый наименьший элемент
@arhitutorials
@arhitutorials 2 года назад
Для двумерного все то же самое, только будет два цикла: по строкам и по столбцам. И надо будет запоминать не один индекс, а два, потому что два измерения. Остальное без изменений.
@oxygen8680
@oxygen8680 4 года назад
Это всё конечно хорошо, но не проще ли слияние сделать так? int[] merge(int[] arr1, int[] arr2) { int[] newArr = new int[arr1.length + arr2.length]; int i, j, k; i = j = k = 0; while (i < arr1.length && j < arr2.length) newArr[k++] = (arr1[i] < arr2[j]) ? arr1[i++] : arr2[j++]; while (i < arr1.length) newArr[k++] = arr1[i++]; while (j < arr2.length) newArr[k++] = arr2[j++]; return newArr; }
@user-cx5pj3kf3r
@user-cx5pj3kf3r 2 года назад
Сергей добрый день. Я начал изучать java. не совсем понимаю принцип работы конструкции if-else, и принцип решения задач с использованием этой конструкции. Заранее выражаю благодарность за помощь в разборе данной темы!
@qatsby
@qatsby 2 года назад
Ну как успехи ?
@user-cx5pj3kf3r
@user-cx5pj3kf3r 2 года назад
@@qatsby хорошо. Закончил курс. Получил сертификат
@clannajebyan
@clannajebyan Год назад
@@user-cx5pj3kf3r а реальные знания?
@user-cx5pj3kf3r
@user-cx5pj3kf3r Год назад
@@clannajebyan, не понял вопроса.
@clannajebyan
@clannajebyan Год назад
@@user-cx5pj3kf3r чего тут понимать. нужны реальные знания, а не сертификат. сертификат - это не знания, это оценка кого-то о знаниях. реальные знания - это умение их применять за вознаграждение в фиатной валюте. ещё проще выражаясь: уже работаете программистом?
@user-segadev
@user-segadev Год назад
15.10.2022
@Mokeyshka
@Mokeyshka 3 года назад
Выдает данную ошибку: Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: . но в чем суть не понимаю все написано так же как и у вас
@Mokeyshka
@Mokeyshka 3 года назад
пишу на Net Beans
@movt8156
@movt8156 Год назад
А если второе число будет больше первого?
@selfclimbing
@selfclimbing 4 года назад
Как вы вывели пошаговую ретроспективу кода?
@arhitutorials
@arhitutorials 4 года назад
Пошаговое выполнение любой программы можно посмотреть с помощью отладчика. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Z1BQsf0A4xY.html
@selfclimbing
@selfclimbing 4 года назад
@@arhitutorials спасибо
@Seo_tse
@Seo_tse 2 года назад
А если пустой массив будет выдавать ошибку! как решить эту проблему?
@arhitutorials
@arhitutorials 2 года назад
Поиск минимального элемента у пустого массива не имеет смысла, потому что минимального элемента в этом случае нет.
@VERA_LIFE13
@VERA_LIFE13 4 года назад
Добрый день, а как вывести допустим второй по минимальности элемент?
@arhitutorials
@arhitutorials 4 года назад
Можно отсортировать массив по возрастанию, от малых к большим. Тогда на первом месте будет минимальный элемент, на втором - второй по минимальности, на третьем третий и т.д. А можно два раза пройти по массиву. В первый раз найти минимальный элемент и запомнить его в переменной, а во второй, искать минимальный элемент, игнорируя найденный до этого минимальный элемент.
@VERA_LIFE13
@VERA_LIFE13 4 года назад
@@arhitutorials спасибо
@VERA_LIFE13
@VERA_LIFE13 4 года назад
Сергей, еще такой вопрос, а как Вы цикл быстро написали на 1 мин 50 сек или Вы просто скопировали?
@arhitutorials
@arhitutorials 4 года назад
@@VERA_LIFE13 это один из встроенных шаблонов в IntelliJ IDEA. Если написать fori и нажать enter, то на этом месте автоматически создается цикл.
@VERA_LIFE13
@VERA_LIFE13 4 года назад
@@arhitutorials спасибо.
@islamgapisov197
@islamgapisov197 4 года назад
Как найти число с клавиатуры в массиве?
@arhitutorials
@arhitutorials 4 года назад
Ввести массив с клавиатуры можно например так: stackoverflow.com/a/8668837 Создаем Scanner, в консоли сначала печатаем число - количество элементов в массиве, сканером читаем. Потом в цикле вводим и читаем сканером элементы этого массива в нужном количестве.
@sausau2534
@sausau2534 4 года назад
import java.util.Random; import java.util.Scanner; public class MyClass { public static void main(String args[]) { Random rand = new Random(); Scanner keyboard = new Scanner(System.in); int y = keyboard.nextInt(); int t = 0; int w = 100; int [] s = new int[w]; for(int i=0; i
@user-ze3zo3oq5b
@user-ze3zo3oq5b 5 месяцев назад
Как вы стали андроид разработчиком сколько вы учились и что нужно учить чтобы стать андроид разработчиком
@arhitutorials
@arhitutorials 5 месяцев назад
На предприятии нужен был андроид разработчик для создания приложения под собственные нужды, но зарплату предлагали маленькую, по этому не могли никого найти. А я про андроид разработку ничего не знал, но решил пойти на эту вакансию, и меня взяли, так как других желающих не было. Где-то месяц разбирался, потом начал уже заниматься приложением и доучиваться по ходу работы. Где-то месяца 4 ушло на приложение. Потом перешел в it компанию на зарплату в 3 раза выше.
@ayushkumarsaksena7996
@ayushkumarsaksena7996 3 года назад
Arrays.sort(array); that's it
@marvinheemeyer7027
@marvinheemeyer7027 2 года назад
круто,где тебя искать если ютуб закроют?
@arhitutorials
@arhitutorials 2 года назад
А какие есть варианты?
@marvinheemeyer7027
@marvinheemeyer7027 2 года назад
@@arhitutorials создай свой сайт
@u.c.s.6292
@u.c.s.6292 4 года назад
А что делать если несколько чисел будет минимальных? Как сделать чтобы программа выводила любое из них?
@arhitutorials
@arhitutorials 4 года назад
Что значит несколько минимальных? Минимальное может быть только одно, и этот алгоритм его найдет. Если минимальное число встречается несколько раз, то алгоритм найдет положение первого из них. Если надо найти n самых маленьких чисел в массиве, то сортируем массив по возрастанию и берем из него n первых чисел.
@karasevsd
@karasevsd 3 года назад
@@arhitutorials С точки зрения оптимизации, какой алгоритм лучше? 1) За первую итерацию можно найти минимальное число. За вторую итерацию вывести на экран индексы ячеек равных минимальному числу. 2) Сортировка массива по возрастанию займёт более 2 повторений. + Одно повторение для поиска всех минимальных чисел.
@arhitutorials
@arhitutorials 3 года назад
@@karasevsd А почему бы не найти и сам минимальный элемент и индексы всех ячеек, где этот минимальный элемент находится, за один проход по массиву?
@VasillaRobocraft
@VasillaRobocraft Год назад
Зачем нам на каждой итерации цикла переписывать переменную с минимальным значением? Лишнее усложнение, которое не даёт никаких преимуществ, а только замедляет код. Достаточно иметь только переменную, в которой хранится индекс. А уж если так хочется объявить переменную, в которой будет лежать значение, то с точки зрения оптимизации будет логичным присвоить его уже после цикла, потому что мы уже будем знать индекс минимального элемента. В таком случае, нам придется сделать это всего лишь один раз, а не переписывать на каждой итерации цикла
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Год назад
Это уже вопросы оптимизации