Ответы пользователя по тегу Алгоритмы
  • Как понять конструкцию "указатель на указатель"?

    @Koss1024
    Вот с картинками.
    cppstudio.com/post/9555
    Ответ написан
    Комментировать
  • Какие самые сложные нерешенные задачи в IT отрасли вы знаете?

    @Koss1024
    Я считаю важнейшей равенство/неравенство классов P и NP.
    И очень желательно чтобы если равно, то подход позволил бы уверенно конвертить задачи из одного класса в другой. Это была бы научная революция величайшего масштаба для всего человечества и для всех отраслей сразу, а не только для IT

    Вы путаете нерешенные проблемы с инженерными задачами.
    Выше Вы спросили про написание "убийцы" Windows в этом контексте
    Написание операционной системы это инженерная задача. И она вполне себе решена.
    Unix, linux, QNX, MacOS.

    Убить windows - это вообще бизнес задача.
    Кроме того на каком поприще убивать то?

    (чтобы не было холивара - на всех поприщах есть и винда, даже во встроенных системах, я лишь указал лидеров)

    Сервера? - там линукс и юникс
    Встроенные системы? - линукс юникс QNX
    Системы реального времени? QNX
    Отказоустойчивые, атомные станции там? QNX
    Математика, физика? линукс юникс
    Рабочая станция разработчика (веб, сервера, встроенные системы, реального времени)? линукс, MacOS
    Рабочая станция дизайнера? Mac
    Рабочая станция обработчика видео? Тоже Мас

    Игровая платформа? Тут среди ПС винда пока лидер, но для игр есть консоли, и настоящий рынок пока что там. Кроме того диву даюсь на что способны уже IPhone+AppleTV и аналоги от гугла уже. То ли еще будет.

    Десктоп для большинства? Чтоб серфить котиков, не нахвататься вирусов и играть в казуалки планшет куда удобнее, и планшеты этот рынок уверенно захватывают. Десктоп для большинства простых задач почти сдох

    Windowns + МС Офиc.? Майкрософт активно поддерживает эту связку в корпоративной среде, но и здесь рынок потеснил их. Офисный пакет доступен теперь и на Маке и на Айпадах (а иначе альтернативы его задавят в будущем)

    Ноуты? Мак, Линукс, Хром ОС (винда лидер по причине описанной ниже)

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

    Но все эти причины точно не относятся к разряду проблем IT, это скорее задачи бизнеса и маркетинга.
    К IT можно отнести лишь поддержку старого софта.
    Для Доса эту проблему решили эмулятором
    Для винды парни из ReactOS воюют.

    Надеюсь я достаточно подробно ответил почему написание "убийцы Windows" это
    - не нерешенная
    - не проблемы
    - и не из IT

    прям как свинка морская
    Ответ написан
    Комментировать
  • Что почитать по обработке изображений на Java?

    @Koss1024
    Правильный ответ конечно не обрабатывать изображения на ява :)
    (с) Джон Кармак.

    Попробуйте мапинги библиотеки OpenCV
    Ответ написан
  • Что посоветуете для самостоятельного освоения паттернов проектирования?

    @Koss1024
    Мне это напоминает как в зал по изучению Джиу Джитсу мама привела ребенка и попросила тренера научить его драться, но при этом не ставить его в спарринг.

    Паттерны без рабочей практики бесполезно изучать и даже вредно. Паттерны решают задачи управления сложностью программных систем. А зачем ей управлять если вы ее никогда не видели?
    Ответ написан
  • Как найти оптимальное приближение набора данных ломаной с заданным числом узлов?

    @Koss1024
    Слишком мало данных для полного ответа.

    Вообще вам подойдет сплайн первого порядка с нужным количеством узлов (это и есть ломаная)
    Просто непрерывная кривая (недифференцируемая в точках излома)
    Математику сего процесса можно найти в NURBS book или в интернетах

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

    Там параметризуется обычно количество узлов и границы

    Узлы очевидно стоит размещать поближе к точкам с минимальным модулем производной
    (перегибы, минимумы и максимумы)
    Ответ написан
    2 комментария
  • Необходимо получить первые N наиболее встречающиеся слова в текстовом файле?

    @Koss1024
    А что подсказать? В чем вопрос?

    Или написать за Вас код?

    Алгоритм прост:
    Читаем слова из файлового потока и собираем в map примерно так

    ifstream fs("filename.txt");
    map freq; // частоты файлов
    string word;
    while(read_next_word(fs, word)) // read and skip spaces tabs etc... (тут логика пропуска ненужных символов)
    {
    transform(word.begin(), word.end(), word.begin(), tolower); //lowercase
    freq[word]++; // увеличиваем счетчик для нашего слова
    }

    теперь у нас есть частоты всех слов в мапе скопируем ее в вектор и отсортируем по частотам

    vector > vocabulary(freq.begin(), freq.end());
    sort(vocabulary.begin(), vocabulary.end(), less_second); // можно лямбдой будет проще если можно с++11

    Слова в контейнере vocabulary отсортированы по частоте и делать с ними можно что угодно

    где
    bool less_second(const pair& a, const pair& b)
    {
    return a.second < b. second;
    }

    Это действительно весь код. (кроме логики пропуска символов, но там все просто по моему)
    Ответ написан
    Комментировать
  • Какую кривую эффективнее построить на множестве [0; 1] - Безье, нецелочисленную степенную или гиперболу?

    @Koss1024
    Здесь как родная ложится Рациональная кривая Безье второго порядка

    Базис
    b0(t) = (1-t)^2
    b1(t) = 2*(1-t)
    b2(t) = t^2

    Точки
    P0 = (0, 0)
    P1 = (1, 0) (или 0,1)
    P2 = (1, 1)

    Тогда обычная кривая имеет вид: B(t) = sum_by_i(b(i) *P(i))

    Рациональная B(t) = sum_by_i(b(i) * P(i) * w(i) ) / sum_by_i(b(i, w(i))

    Где w(i) это веса вершин установив значение w(1) > 1 вы получите свой результат

    На пальцах кривая стремится приблизиться к вершине с весом > 1 и наоборот
    Ответ написан
    Комментировать
  • Как правильно распарсить запись функции и какие структуры данных использовать для ее хранения?

    @Koss1024
    Алгоритм известен более чем
    https://ru.wikipedia.org/wiki/Алгоритм_сортировочн...
    Пример в статье заменяем на названия функций и все. Если речь не идет о просини выражений дополнительно.

    Вопрос точно по С++? Поскольку запрос с сервера здесь выглядит слегка неуместно
    Всему свой тул
    Ответ написан
    Комментировать