Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
7 / 6 / 1
Регистрация: 12.10.2021
Сообщений: 386

Как научиться писать алгоритмы к задаче

12.10.2022, 23:47. Показов 1462. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тяжело даëтся написание алгоритмов к задачам, что с этим сделать может кто-нибудь что-то посоветует, и не важно какой язык, само Алгоритмирование тяжело идет
P. S. 3 курс универа, специальность программист
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2022, 23:47
Ответы с готовыми решениями:

Как научиться писать программы
НДарова Народ помагт разобраться в программе qBasic

Как быстро научиться писать на C#?
Как быстро научиться писать на C#? Через три дня сдавать важные работы. 1 курс. Ничего не знаю. Любые советы, пожалуйста!!!

Как научиться писать красивые приложения
Здравствуйте! Подскажите пожалуйста. Хочу научиться программировать на C#, чтобы писать классные программы. Можно как-то самому? Или есть...

20
Гвоздь Задиров
 Аватар для Folian
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
13.10.2022, 00:30
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
Тяжело даëтся написание алгоритмов
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
3 курс универа, специальность программист
Эт как же тебя туда занесло-то?
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
специальность программист
Эт в каком вузе специальность такая? И код специальности. Интересно прост.


Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
что с этим сделать
Практикуйся, занимайся; книжку про алгоритмы полистай. От простого к сложному.
Или беги оттудова.
0
7 / 6 / 1
Регистрация: 12.10.2021
Сообщений: 386
13.10.2022, 00:42  [ТС]
Факультет информатики и вычислительной техники 09.03.01
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
13.10.2022, 01:11
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
что с этим сделать может кто-нибудь что-то посоветует
Это лечится практикой.
Огромным количеством практики.
Разбирайте алгоритмы в больших количествах.
Прям больших. Прям по две-три штуки в день.
И чем сложнее тем лучше.
Желательно те, которые вам совсем непонятны.
Начните алгоритмов и структур данных.
Переходите постепенно к задачам дискретной математики.
Поймёте тысячу алгоритмов -- и золотой ключик ваш.
0
Заблокирован
13.10.2022, 01:46
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
Тяжело даëтся написание алгоритмов
Значит-с, внутри душа поэта пропадает

Цитата Сообщение от lemegeton Посмотреть сообщение
Разбирайте алгоритмы в больших количествах.
Прям больших. Прям по две-три штуки в день.
И чем сложнее тем лучше.
Лечение деменции интеллекта интенсивным вливанием всевозможных знаний ?
Не самый универсальный и безболезненный метод. К тому же подвержен критическим повреждениям.
Можно привести аналогию спортивных тренировок, они строго дозированы, интенсивны, но дозированы.

И тут еще есть много нюансов, один из них - не расстраиваться если что то не понимаете или не выходит, не опускать руки.
Продолжайте изучение дальше (другую тему), запишите себе где застопорились, и позже обязательно вернитесь к тому моменту.
И попробуйте все изучить еще раз.
1
Заблокирован
13.10.2022, 01:54
А для начала, прочитайте Д. Кнута "Исскуство программирования"
Это как раз про алгоритмы.
Миниатюры
Как научиться писать алгоритмы к задаче  
0
 Аватар для Storm Screamer
4838 / 1405 / 115
Регистрация: 21.04.2013
Сообщений: 8,567
13.10.2022, 02:11
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
Тяжело даëтся написание алгоритмов к задачам
К каким задачам? Можно пример?

Может быть проблема не с написанием алгоритмов на самом деле, а с пониманием задачи и знанием предметной области. Если дать опытному программисту в финансовой области (бух. ПО, например) задание составить алгоритм работы автопилота самолета, то он его не составит, потому что не будет знать предметной области, а именно, как работает автопилот, какими сущностями он оперирует, что и из чего получает, и куда отдает.

Вы какой-то литературой себя подготавливали? Ибо есть две большие разницы, когда тяжело дается, потому что у вас нет знаний никаких или когда у вас знания есть, но на практике получается тяжело их применить.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
13.10.2022, 09:00
dmitrynikolaev3, алгоритм это способ описания решения задачи. У чистых матприкладников именно решение задачи это проблема. Если условие формализовано то решение зависит от того знает ли сказанный товарищ алгоритм. А вот формализация - перевод предметной проблематики на мат - сложно даётся. Если не простой трех-этажный иметь ввиду. Зайдите в раздел Физика и вы увидите, что задачи решают очень не многие из тех кто может писать трехэтажные формулы. Особенно, если задачи нестандартные. Ну и немаловажен факт о котором сказал Storm Screamer, - знание предметной области. Для профессионального решения, это абсолютно необходимо. Однако при умении решать задачи (это очень не просто и достигается упражнением при наличии способности) и времени, человек может изучить предмет, если он ему доступен. Сегодня интернет предоставляет достаточно много информации. А вот не умея решать задачи, человек может только искать готовое решение. Сведения о предметной области не помогут.
Составление алгоритма это задача транслирования решения в некий псевдо язык. Ключевое слова - задача. А мы же с вами говорим о том, кто умеет решать задачи? Тут предметную область описывали многие. Кнут очень объёмен и академичен. Знакомство, необходимо в любом случае. Седжвик и Кормен несколько более практичны, но тоже не подарки. Для начала - смотрите что показывают преподаватели и само знакомство с типами STL даст представление о различного класса задачах описания задач. Да-да, задачи задач, так как речь идёт об обобщающих алгоритмах. Графы (в С++ рудиментарны), деревья, массивы (векторы), очереди, стеки, списки, строки, пары и пр. Далее, - патерны проектирования...
Но. Без умения решать задачи, всё это не сделает вас способным сгенерировать идею для написания хорошей библиотеки. Тем не менее многие живут и без этого и неплохо зарабатывают. Вам решать. Смотрите по внутренним ощущениям.
0
7 / 6 / 1
Регистрация: 12.10.2021
Сообщений: 386
13.10.2022, 09:56  [ТС]
Литературу ещё не пробовал, попробую Д. Кнута почитать и решать одновременно задачи
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
13.10.2022, 11:03
Цитата Сообщение от SmallEvil Посмотреть сообщение
А для начала, прочитайте Д. Кнута
Боюсь предположить, что же Вы посоветуете для продвинутого чтения...

dmitrynikolaev3, вот список книг, которые у меня всегда под рукой:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Графы
  Майника Э - Алгоритмы оптимизации на сетях и графах - 1981
  Нидхем М., Холдер Э. - Графовые алгоритмы - 2020
Комбинаторика
  Костюкова Н.И. - Комбинаторные алгоритмы для программистов - 2016
  Липский В. - Комбинаторика для программистов - 1988
Строки
  Дэн Гасфилд - Строки, деревья и последовательности в алгоритмах. Информатика и вычислительная биология - 2003
  Смит Б. - Методы и алгоритмы вычислений на строках - 2006
Общие
  Бхаргава А. - Грокаем Алгоритмы. Иллюстрированное пособие для программистов и любопытствущих - 2017
  Дасгупта С., Пападимитриу Х., Вазирани У. - Алгоритмы - 2014
  Кормен Т, Лейзерсон Ч, Ривест Р, Штайн K - Алгоритмы. построение и анализ - 2005
  Мозговой - Алгоритмы, языки, автоматы, компиляторы - 2006
  Рафгарден Т. - Совершенный алгоритм. Алгоритмы для NP трудных задач (Библиотека программиста) - 2021
  Рафгарден Т. - Совершенный алгоритм. Графовые алгоритмы и структуры данных (Библиотека программиста) - 2019
  Рафгарден Т. - Совершенный алгоритм. Жадные алгоритмы и динамическое программирование (Библиотека программиста) - 2020
  Рафгарден Т. - Совершенный алгоритм. Основы (Библиотека программиста) - 2019
  Седжвик Р - Фундаментальные алгоритмы на C++ Части 1-4 - 2001
  Седжвик Р - Фундаментальные алгоритмы на C++ Часть 5 - 2002
  Скиена С - Алгоритмы Руководство по разработке 2 издание - 2011
  Стивенс Род - Алгоритмы. Теория и практическое применение (Мировой компьютерный бестселлер) - 2016
  Уоррен Генри - Алгоритмические трюки для программистов, испр изд - 2004
  Хэзфилд, Кирби - Искусство программирования на С _ Фундаментальные алгоритмы, структуры данных и примеры приложений
Начните с простого - прочитайте их оглавления.
1
7 / 6 / 1
Регистрация: 12.10.2021
Сообщений: 386
13.10.2022, 11:41  [ТС]
Благодарю

Добавлено через 2 минуты
Они же доступны для чтения в интернете?
0
Заблокирован
13.10.2022, 14:14
Цитата Сообщение от vantfiles Посмотреть сообщение
Боюсь предположить, что же Вы посоветуете для продвинутого чтения...
Есть материалы более сложные и глубже чем у Кнута.
Я сам еще откладываю их изучение. И такие еще никому не советовал.
К подобным трудам доходят самостоятельно.
Когда остального уже недостаточно.

Цитата Сообщение от vantfiles Посмотреть сообщение
Комбинаторика
Костюкова Н.И. - Комбинаторные алгоритмы для программистов - 2016
Липский В. - Комбинаторика для программистов - 1988
За это направление спасибо. Я таким мало занимался. Надо бы ликбез провести.

Цитата Сообщение от vantfiles Посмотреть сообщение
Рафгарден Т. -
Совершенный алгоритм. Алгоритмы для NP трудных задач (Библиотека программиста) - 2021
Рафгарден Т. - Совершенный алгоритм. Графовые алгоритмы и структуры данных (Библиотека программиста) - 2019
Рафгарден Т. - Совершенный алгоритм. Жадные алгоритмы и динамическое программирование (Библиотека программиста) - 2020
Рафгарден Т. - Совершенный алгоритм. Основы (Библиотека программиста) - 2019
Эти тоже бы подчеркнул бы для автора темы. Изучать алгоритмы как науку. А не емпирические выведенные алгоритмы запоминать. Не читал.

Цитата Сообщение от vantfiles Посмотреть сообщение
Седжвик Р - Фундаментальные алгоритмы на C++ Части 1-4 - 2001
Седжвик Р - Фундаментальные алгоритмы на C++ Часть 5 - 2002
Для них нужна довольно неплохое знание ЯП С++. Моно читать разделы выборочно. Если не понятно что то, переходить к нужным (более ранним) разделам.

Я вот например начал со второго тома Седжевика.
Потом решил ближе изучить деревья поиска (с первого тома). А там заодно и повторил рекурсивные алгоритмы

3 курс... как то поздновато вы спохватились ...
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
13.10.2022, 15:05
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
Они же доступны для чтения в интернете?
Да.

Цитата Сообщение от SmallEvil Посмотреть сообщение
За это направление спасибо. Я таким мало занимался.
Вот классификация алгоритмов по направлениям. Их, скажем так, немало:
https://dic.academic.ru/dic.nsf/ruwiki/36140

Добавлено через 8 минут
Вот еще ресурс для "полистать":
http://algolist.manual.ru/
0
 Аватар для Storm Screamer
4838 / 1405 / 115
Регистрация: 21.04.2013
Сообщений: 8,567
13.10.2022, 16:33
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
Литературу ещё не пробовал, попробую Д. Кнута почитать и решать одновременно задачи
Тогда рано говорить о том, что алгоритмирование идет тяжело. Вы его по сути еще не пробовали.

Цитата Сообщение от SmallEvil Посмотреть сообщение
3 курс... как то поздновато вы спохватились ...
Не поздновато с учетом современных тенденций. Напротив, хорошо, что такой вопрос задал автор. Обычно спрашивают, как выучить язык, на какие курсы пойти, чтобы заработать или "помогите решить задачу, которая гуглится за 5 секунд". А про алгоритмы, методы программирования, и в целом про теоретическую подготовку говорят мало или вообще не говорят в разделе новичков.
0
7 / 6 / 1
Регистрация: 12.10.2021
Сообщений: 386
13.10.2022, 17:49  [ТС]
Ну вот для более средних задач на циклы и массивы ещё способен алгоритм придумать, а дальше всё сложно

Добавлено через 1 минуту
Спасибо , надеюсь от этих книг станет легче
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
13.10.2022, 20:41
имхо

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

зы: это архисложно...гораздо сложнее, чем может показаться сначала...
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
13.10.2022, 23:17
Цитата Сообщение от dmitrynikolaev3 Посмотреть сообщение
Ну вот для более средних задач на циклы и массивы ещё способен алгоритм придумать, а дальше всё сложно
Ну вообще-то любые программы состоят в основном из массивов (и их более продвинутых версий, типо списков, векторов и т.п.), чтения данных из одних массивов, некоторые действия над данными как правило в циклах, и записи их в другие массивы (файлы, БД). Ну плюс ещё ввод-вывод на экран.

Алгоритмы общепрограммистские, такие как сортировка, поиск и т.п. - давно уже придуманы и написаны. И думать тут особо нечего, достаточно скачать из интернета и посмотреть, как там всё устроено.

Алгоритмы специфические требуют знаний в профильных областях: математика, комбинаторика, теория игр, геометрия и далее по списку, смотря что нужно. Например, для того, что-бы подсчитать сумму чисел от 1 до N можно воспользоваться циклом, а можно формулой N * (N + 1) / 2. И решить задачу, выполнив одну строчку кода.

С какими конкретно алгоритмами возникают трудности?

Вот например такая задача: даны 10 (N) кубиков с буквами латинского алфавита (регистр не имеет значения). Буквы нанесены случайно, и, для простоты, на одном кубике буквы не повторяются. Требуется узнать, возможно ли из данного набора кубиков сложить слово, например ABCDEF. Как бы вы стали решать такую задачу? С чего бы начали?
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
14.10.2022, 00:06
Цитата Сообщение от alexu_007 Посмотреть сообщение
С чего бы начали?
С того бы, что дал бы тебе под зад, а потом дал бы еще за подобные формулировки задач.
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
14.10.2022, 00:16
Да? А мне моя задача нравится...
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
14.10.2022, 00:26
Цитата Сообщение от alexu_007 Посмотреть сообщение
Да? А мне моя задача нравится...
что такое кубик?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.10.2022, 00:26
Помогаю со студенческими работами здесь

как научиться писать программы в Delphi7?!
уважаемые профессионалы Delphi 7, у меня есть желание научиться писать свои программы и создавать собственные приложения в Delphi 7! у...

Как научиться писать мощные вирусы по книгам
Можно ли по книге научиться писать мощные вирусы?

Как научиться писать шаблоны для dle?
Как научиться писать шаблоны для dle? наподобие таких

Как лучше всего научиться писать на C Sharp?
1) прочитать очередную книжку и потом решить что делать дальше 2) залезть на MSDN , познакомиться со стандартными операторами и...

Как научиться писать обработчики при создании сайта??!
Тут такое дело, изучаю asp.net с уклоном на создание сайта. Изучаю язык C#. Вообщем понимаю как делать страницы типа index.aspx, а как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru