|
|
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. //То есть сперва, упорядочиваем первых три числа (согласно 6-и возможным комбинациям их взаиморасположения) с которыми потом идет сравнение в одном цыкле (такое условие) for этого задания (может while имеет лутшую альтернативу?). Потом в этом цыкле, сперва заменяем третье наименьшее число без здвига, или второе - уже со сдвигом второго на место третьего, или первое - уже с двигом на единицу первых двух. Упростить, что в общем не существенно для структуры, можно через замену последнего else if просто на else, ибо в начале цыкла есть условие проверки есть ли число больше всех текущех трех наименьших чисел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 20:41 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Сортировка брат... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 21:04 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
mayton, один цыкл надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 21:18 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
arrtmayton, один цыкл надо Тоже самое что поиск минимального значения, только вместо одной переменной храним три. По ним вложенный цикл будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 21:25 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, вложенный цикл - это уже два, а мне надо один (который у меня есть и работает) Но на это у меня пошло несколько часов, чтобы сделать его полностью рабочем, а вроде предполагается на 10-15 минут. Без упорядочивание первых трех элементов и соответсвуещого выталкивание или сдвига заменяющих ничего не получается, и только на перебор шести комбинаций сколько времени идет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 21:38 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Если задание допускает использование коллекций, то очень хорошо подойдет PriorityQueue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 23:14 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
arrt, Ещё один гуманитарий. Ну не пиши цикл для трёх. Напиши вместо него три условия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 23:17 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
б-р-р. Точнее, Б-Р-Р. Ещё точнее написать нельзя, т.к. более крупных букв нет. Делаю вывод, что программа была сделана в IDEA. Надо было в Eclipse. Сейчас продемонстрирую разницу между ними. Но сначала теория: выявлять наименьшее значение сортировкой - не лучший способ, поскольку его трудоёмкость (в общем случае) O(N log N), в то время как в цикле можно найти решение за O(N). Демонстрирую поиск одного минимального значения в цикле: Код: java 1. 2. 3. 4. 5. 6. 7. Здесь можно было бы сначала m (минимуму) присвоить произвольное значение меньше минимально возможного, а цикл начинать от 0; Для демонстрации этого приёма поиска в цикле я и написал этот ответ, а вовсе не чтоб подсказать решение простого учебного примера. Этот приём используется часто. Обобщаем программный пример на случай поиска 3 минимальных значений. Вот что получается в Eclipse: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Отсюда видно, что Eclipse значительно лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 23:43 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
arrtmayton, один цыкл надо Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 23:57 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
maytonСортировка брат...+128 Реализация 18865228 взята отсюда: https://ru.wikipedia.org/wiki/Глупая_сортировка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2016, 23:59 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Usman https://ru.wikipedia.org/wiki/Глупая_сортировка Бубльсорт в один проход ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 00:01 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Хотя из-за позднего времени я допустил ошибку. Правильно: [SRC java]int m1 = arr[0]; int m2 = arr[0]; int m3 = arr[0]; for (int i = 1; i < arr.length; i++) { int x = arr [i]; if (x < m1) { m3 = m2; m2 = m1; m1 = x; } else if (x < m2) { m3 = m2; m2 = x; } else if (x < m3) m3 = x; } System.out.println (m1 + "," + m2 + "," + m3); [/SRC] Всё равно Eclipse получается лучше. Для выявления произвольного числа минимальных элементов можно вместо m1, m2, m3 ввести массив и заполнять его во вложенном цикле, что требует простой переделки этого примера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 00:04 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Usman+128 -100000 Хоть я и люблю объяснять, но не люблю, когда объяснение не доходит. А это вам должны были объяснить ещё в институте. Поиск наименьшего элемента сортировкой неэффективен, т.к. требует O (N log N) операций, в то время как поиск его в цикле требует O (N) операций. Поиск 3 наименьших элементов в массиве, как легко догадаться, требует тоже O (N) операций, поэтому эффективнее, чем их поиск сортировкой. Вот простое, но более подробное рассмотрение: вот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 00:15 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Есть еще такая интересная структура данных. Пирамида. Или heap. Она не сортирует array но создает некую стуктуру данных, удобную для быстрого буферизирования элементов с приоритетом. Тоесть наверху всегда - топовый. Достоинства пирамиды - экономия памяти по сравнению с деревьями. По сути пирамида - это компромисс между сортировкой и просто поддержкой структуры данных с max()/min() интерфейсом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 00:43 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Интересное и простое решение от Partisan M, и Usman, особенно последнее с обнулением i. Есть ли такие пособие что учат решению мат. задач на таких примерах(?) именно в java, c++, а то если такое в институте учат - меня не учили никак, потому не знаю. Хотя само задание было касательно вывода индексов этих трех значений - как вам найти такое? А то спросил сперва о значениях ибо не знал, что все так просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 01:15 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
есть такая штука, называется лист. не? 1 коллекшн.сорт(...) 2 соут(лист.гет(лист.сизе-1) .... лист.гет(лист.сизе-3)) не? воще ни одного цикла. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 07:39 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
arrtИнтересное и простое решение от Partisan M, и Usman, особенно последнее с обнулением i. Есть ли такие пособие что учат решению мат. задач на таких примерах(?) именно в java, c++, а то если такое в институте учат - меня не учили никак, потому не знаю. Хотя само задание было касательно вывода индексов этих трех значений - как вам найти такое? А то спросил сперва о значениях ибо не знал, что все так просто. а почему теперь тебе самому не попытаться на этих готовых примерах записать куда нибудь индексы этих элементов и отобразить в конце? Вроде как все разжевали выше отписавшиеся, еще бы попросил переменные переименовать как тебе надо)) Почему если ты хочешь найти учебный материал, но не хочешь попробовать и запустить эти примеры у себя? Сохранить индексы этих элементов, даже на алгоритм не тянет, попробуй сделать сам а тут если что подправят;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 08:17 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
А по моему в названии топика не вопрос, а утверждение.. Человек хотел поделиться своим многочасовым выс..трудом, а тут ему бульбосорт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 09:09 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Решение выглядит просто, если использовать коллекции. Тут используется компаратор, позволяющий искать индексы, а если надо искать сами числа, то код будет еще проще: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 10:26 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
arrtИнтересное и простое решение от Partisan M, и Usman, особенно последнее с обнулением i. Есть ли такие пособие что учат решению мат. задач на таких примерах(?) именно в java, c++, а то если такое в институте учат - меня не учили никак, потому не знаю. Для быстрого старта - посмотри это видео. Оно не претендует на теорию. А скорее моделируем процессы, просиходящие про сортировках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 12:22 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Partisan M, Может я чего не понимаю, но причем здесь IDE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 12:44 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 12:47 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
chpasha, твоё видео заблокировано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 12:52 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
maytonchpasha, твоё видео заблокировано его просто нужно на ютюбе смотреть перейдя по ссылке. жадный мосфильм не разрешает встраивание :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 13:11 |
|
||
|
Есть ли проще способ найти 3 наименьших числа из некого перечня
|
|||
|---|---|---|---|
|
#18+
Вот снова у меня будет необходимость решать задачи на алгоритмы. Хотел бы спросить -- какую книгу или ресурс вы можете предложить? Это не обязательно должна быть джава (может быть с++, с#), но не рекомендуйте Кнута. То есть это должны быть краткие задачи на быстроту, типа этой. Среди примеров могут быть и соотвествующие разделы или ветки форума с примерами... А то если не имееш опыта решение таких задач, то и найти оптимальное и необходимое решение сложно если это нужно сделать быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39179724&tid=2122820]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 332ms |

| 0 / 0 |
