• Как найти кратчайший путь по графу с waypoint-ми?

    @rPman
    Простейшие комбинаторные алгоритмы.

    Например поиск в ширину, заводите список бегунов, все делают один шаг вне зависимости друг от друга, запоминая те вершины и и порядок, в которых бывали, чтобы не наступать на них дважды и запоминая длину пройденного пути.

    На каждой следующей вершине бегунок разделяется на несколько (копированием например) числом по количеству исходящих из вершины ребер к посещенным текущим бегунком вершинам.

    Если путей нет бегунок удаляется.

    После того как все вершины будут пройдены, ищем среди оставшихся бегунков того, у кого длина пройденного пути будет наименьшая и извлекаем у него сохраненный путь.

    p.s. можно по хитрому реализовать хранение пути в бегунке, чтобы оптимизировать затраты на n*логарифм от размера лабиринта, вместо квадрата.
    Ответ написан
    1 комментарий
  • Какие посоветуете книги по Java, если есть опыт в программировании?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Г. Шильдт - Полное руководство Java
    Б. Эккель - Философия Java
    Р. Лафоре - Структуры данных и алгоритмы java
    Р-Г Урма - Современный язык Java
    Б. Гетц - Java concurrency на практике
    Ответ написан
    1 комментарий
  • Как построить специфический график в python matlab?

    @dmshar
    Во-первых, теги "PYTHON", "MATLAB" это как бы разные инструменты. И способы рисования в них несколько разные. Вам надо нарисовать сразу в обоих системах - тогда не знаю,
    А если только в Python, тогда примерно так:
    import numpy as np
    import matplotlib.pyplot as plt
    x=np.linspace( -2*np.pi,2*np.pi,100)
    y1=1/(1+x**2)
    y2=np.cos(x)**2
    y3=np.exp( -x**2/10)
    z=2*(y1+y2+y3)
    plt.stackplot(x,y1,y2,y3)
    plt.plot(x,z,'k', linewidth=4)
    plt.xlim( -2*np.pi , 2*np.pi)
    plt.grid(True)

    Результат на картинке.5efdfa2138537958972806.png

    "При этом Нужно указывать процентное соотношение черной и синей части, а также высоту" - что значит "указывать"? И что значит "высоту"? Что и как вы дополнительно будете указывать на своем графике - зависит только от того, какие дополнительные команды вы зададите.
    Ответ написан
    1 комментарий