Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2011, 13:58   #1
Enlightened
Пользователь
 
Регистрация: 15.08.2010
Сообщений: 24
Восклицание Некоторые технологии программирования

Моя тема - репост из Общих вопросов по Delphi, где тема провисела 3 дня, собрала "юбилейные" 60 просмотров и "юбилейные" же 0 ответов.
Пишу сюда в надежде, что здесь мне ответят.



Добрый вечер, уважаемые форумчане!

Долго думал, в каком разделе поднять эту тему, решил, что уместнее всего будет разместить ее тут, ведь мои вопросы общего плана, а в Delphi я чувствую себя увереннее, чем с C.
Перехожу к теме.

Иногда во время написания той или иной программы возникают задачи, общий принцип решения которых весьма схож для разных условий.
Я хочу в этой теме поднять 2 таких "общих" алгоритма.


1) Алгоритм поиска пути. Разумеется, пока рассматриваем простую матрицу m*n. В процессе поиска я натыкался на алгоритм Дейкстры и алгоритм Флойда — Уоршелла. Общие принципы ясны, есть же Wikipedia, в конце-концов.
Что же касается алгоритма, показанного в общем виде на практике, то его мне отыскать не удалось: многие темы форума совсем конкретизированы и неудобны для восприятия с нуля.

Есть ли хорошие примеры для наглядности, исходники, учебники, ресурсы подобного плана? Все приветствуется.


2) Второй алгоритм - перебор. Что имею в виду, поясню на примере:

Пусть дан массив, состоящий из 7 ячеек. Известно, что в нем содержатся 5 идущих подряд, группой, клеток. Очевидно, что при любом расположении этой группы третья, четвертая и пятая клетки будут заняты частью этой группы.
Требуется найти все решения перебором и выделить совпадения (указать на эти 3 клетки).
P.S. Я понимаю, что эта группа легко высчитывается аналитически, но пусть условие останется таким.

То же касается, кстати, и первого алгоритма: как пересчитать все возможные пути?

Боюсь, что алгоритм подобного перебора будет различный для разных условий, поэтому просто прошу разъяснить принцип решения подобного.
Enlightened вне форума Ответить с цитированием
Старый 05.09.2011, 15:36   #2
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Enlightened, вас и впредь будут "наказывать" нулем ответов по той простой причине, что в верхней части страницы в меню есть пункт "Поиск", и надо бы уже научиться им пользоваться. Ни разу не поверю, что нет ответа на ваши вопросы, просто нужно не лениться. Кто ищет, тот находит, кто хочет чтобы дали сразу, будет терять время, поскольку халява в разжеванном виде в этом разделе будет появляться все реже и реже, я заставлю людей искать, разбираться, думать и принимать решение самостоятельно, ...и только в крайних тупиковых случаях задавать вопросы, показывая свои проблемные части кода.

С уважением.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 05.09.2011, 15:40   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
Требуется найти все решения перебором и выделить совпадения (указать на эти 3 клетки).
P.S. Я понимаю, что эта группа легко высчитывается аналитически, но пусть условие останется таким.
т.е. вы понимаете, что решение записывается в 1 действие, но хотите именно погонять процессор перебором? Чтобы зря не простаивал?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.09.2011, 19:14   #4
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

По поводу первого:
Надо читать нужную литературу
Виталий Желтяков вне форума Ответить с цитированием
Старый 06.09.2011, 10:46   #5
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Enlightened Посмотреть сообщение
То же касается, кстати, и первого алгоритма: как пересчитать все возможные пути?

Боюсь, что алгоритм подобного перебора будет различный для разных условий, поэтому просто прошу разъяснить принцип решения подобного.
С помощью N-мерного дерева ( зависит от того в каких направлениях можно ходить). Путь вообще может быть бесконечным или циклическим
An1ka вне форума Ответить с цитированием
Старый 06.09.2011, 11:11   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
извините за наглость, но ссылку я исправил(тырк)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Некоторые технологии программирования Enlightened Общие вопросы Delphi 0 02.09.2011 21:40
технологии программирования V@mpire Общие вопросы C/C++ 0 21.06.2010 23:27
Некоторые траблы с плеером Arizonec Общие вопросы C/C++ 0 02.05.2010 23:34
Не устанавливаются некоторые приложения mityha Софт 2 26.01.2009 18:47