Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Алгоритмы и теория программирования


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Роман Селиверстов
Статус: Советник
Рейтинг: 5022
∙ повысить рейтинг »
CradleA
Статус: Бакалавр
Рейтинг: 2050
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 1788
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Алгоритмы и теория программирования

Номер выпуска:174
Дата выхода:19.11.2013, 17:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:77 / 42
Вопросов / ответов:3 / 5

Консультация # 74861: Здраствуйте ув. эксперты! Вчера, в обед, решая одну олимпиадную задачу, я поймал себя на том, что совершенно не в состоянии придумать алгоритм, перебирающий все комбинации элементов в ряду (этим должно было заканчиваться решение). Если не очень понятно: Элементы -- это числа. Ряд -- это массив (одномерный). Требуется перемешивать числа ...


Консультация # 178085: Уважаемые Эксперты нуждаюсь в вашей помощи. Жадные алгоритмы. Задача "Оптимальная сортировка" Дана последовательность длины N из целых чисел 1,2,3. Необходимо найти минимальное количество обменов элементов последовательности, в результате которых последовательность стала бы отсортированной. Пример: 3 2 1 Ответ 1. Яз...
Консультация # 141262: Хочу научиться писать программы пусть меня научат...

Консультация # 74861:

Здраствуйте ув. эксперты!
Вчера, в обед, решая одну олимпиадную задачу, я поймал себя на том, что совершенно не в состоянии придумать алгоритм, перебирающий все комбинации элементов в ряду (этим должно было заканчиваться решение). Если не очень понятно:
Элементы -- это числа. Ряд -- это массив (одномерный).
Требуется перемешивать числа в массиве так, чтобы кратчайшим (читай быстрейшим) способом получить все возможные массивы.
Помогите пожалуйста. Язык -- паскаль (можно фри).
Заранее благодарен.

Дата отправки: 08.02.2007, 23:14
Вопрос задал: Dobrotsvetov_D_M
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Xoma:

Здравствуйте, Dobrotsvetov_D_M!
Насколько я понял, Это комбинаторная задача. Получение всех перстоновок. всего их N! где N-количество элементов множества.
Вам поможет любая книга по комбинаторике. Например, книга Захаровой "Алгоритмы дискретной математики" там на страницах 16 - 17 приведён текст программы на пскале, которая переберает перестановки данного массива. Его (текст программы) вам и отсылаю.

Приложение:

Консультировал: Xoma
Дата отправки: 08.02.2007, 23:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 178085:

Уважаемые Эксперты нуждаюсь в вашей помощи.
Жадные алгоритмы.
Задача "Оптимальная сортировка"
Дана последовательность длины N из целых чисел 1,2,3. Необходимо найти минимальное количество обменов элементов последовательности, в результате которых последовательность стала бы отсортированной.
Пример:
3 2 1
Ответ 1.
Язык реализации си.
С уважением и надеждой в глазах.

Дата отправки: 29.04.2010, 01:46
Вопрос задал: Ankden
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Алексей S:

Здравствуйте, Ankden.
Писал код прямо тут в приложении, так что могут быть какие нибудь глупые ошибки, но общий смысл, думаю, ясен: находим каждый элемент и ставим на своё место, при этом считая перестановки

Приложение:

Консультировал: Алексей S
Дата отправки: 29.04.2010, 02:14

5
Спасибо!!
-----
Дата оценки: 29.04.2010, 15:23

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует coremaster1 (Профессор):

Здравствуйте, Ankden.
Не совсем понятно каким боком к заданию относятся жадные алгоритмы. Если я правильно понял, то нужно посчитать минимально необходимое число обменов для сортировки произвольного массива из чисел {1, 2, 3}. Я предлагаю следующий алгоритм:
1. Подсчитать количество единиц и двоек в массиве. Этого достаточно, чтобы знать диапазоны значений в отсортированном массиве.
2. Переместить единицы на свои законные позиции, подсчитывая обмены. Если единица обменивает с двойкой, то поиск единицы нужно начинать с первой позиции, которую будут занимать двойки, если с тройкой - то с конца массива. Это гарантирует оптимальность обменов.
3. Аналогично переместить двойки на свои позиции, с поправкой на упрощение поиска.

В приложении программа, ввод/вывод сделан на C++, чистым С не владею в должной мере. Думаю, что переписать это на C не составит большого труда.

Приложение:

Консультировал: coremaster1 (Профессор)
Дата отправки: 29.04.2010, 13:54

5
Спасибо!!
-----
Дата оценки: 29.04.2010, 15:23

Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 141262:

Хочу научиться писать программы пусть меня научат

Дата отправки: 04.08.2008, 02:10
Вопрос задал: Mamedov
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Mister Vova:

Здравствуйте, Mamedov!
обучение требует время
а индивидудуальный подход должени оплачиватся
есть ресурсы в нете совершенно без платные, но тут сам будеш учить

Консультировал: Mister Vova
Дата отправки: 04.08.2008, 12:41
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Troyan:

Здравствуйте, Mamedov!
Для самостоятельного обучения программированию предлагаю вам для начала выучить хоть один язык программирования. Для этого в изобилии существуют различные самоучители, которые вы сможете приобрести в любом книжном магазине или скачать из интернета. После изучения языка, могу вам посоветовать взять за изучение основные алгоритмы программирования (очень хорошо описаны они у Д. Кнута).
После можно уже браться и за другие языки программирования. Изучая дополнительные языки вы лучше понимаете предыдущие, принципы их работы, понимаете их логику.
В течение обучения предлагаю вам браться за какие-нибудь проекты. Придумывайте тему для проекта и реализуйте его. Реализуйте всеми способами: известными вам, скаченными из интернета, списанными откуда-либо. Однако в последних случаях обязательным является изучение чужого кода и полное его осмысление. В этих случаях создание проектов даст вам неоценимый опыт, направление которого будет зависить от темат ики ваших задумок.
Желаю вам удачи в освоении этого дела! Если будут еще вопросы - обращайтесь.

Консультировал: Troyan
Дата отправки: 04.08.2008, 13:42
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное