Ответы пользователя по тегу Алгоритмы
  • Как правильно создать sql запрос, php скрипт для подняния постов вверх по списку?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Держите в БД три поля: auto_up, created, effective – последние два при создании одинаковы – датавремя создания поста.

    Каждые 5 минут сравнивайте текущее время с effective у записей, где auto_up=1 – и если разница больше 4 часов, вычитайте 4 часа из effective.

    При показе объявлений сортируйте не по created, а по effective.
    Ответ написан
    Комментировать
  • Существует ли элегантный алгоритм для поворота 4×4 матрицы на 90 градусов?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    1. Можно просто записать 6 пар перестановок:

    function swap(arr, a, b){
        var tmp = arr[a];
        arr[a] = arr[b];
        arr[b] = tmp;
    }
    var a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
    swap(a,1,4);
    swap(a,2,8);
    swap(a,3,12);
    swap(a,6,9);
    swap(a,7,13);
    swap(a,11,14);


    2. Можно шагать с инкрементом 4 и брать остаток от деления на 15:

    var a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] ,tmp;
    
    function pivot(a) {
        var i, result = [];
        for( i=0; i<60; i+=4) result.push(a[i%15]);
        result.push(a[15]);
        return result;
    }
    
    var b = pivot(a);
    Ответ написан
    Комментировать
  • Как вызывать ф-цию, используя разные события, на жирном тексте?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Интересный вопрос. Не полное решение, но поможет найти: Fiddle, где опеределяют позицию курсора в редактируемом элементе с html тегами.
    Ответ написан
    Комментировать
  • Интересен ли анализ алгоритмов?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Посмотрите: среднее кол-во просмотров любого вопроса тут не превышает пару сотен. На Хабре аудитория на порядки больше. Опрос типа вашего на Тостере не даст релевантных результатов.

    Пишите! : )
    Ответ написан
  • Как построить "дорогу", имея массив точек?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Линейная алгебра, школа же? Уравнение прямой через две заданные точки (отрезок дороги). Её смещение по перпендикуляру в обе стороны на ширину дороги = обочины этого сегмента.

    Пересечения соотв. прямых с обочинами соседних сегментов = углы обочин.

    Особенный случай очень острые углы (представьте угол около 1˚) – обочины могут уйти в бесконечность, чтобы пересечься. Надо ограничивать отдаление точки пересечения внешних обочин от точки угла центральной линии. См. термин «miter limit».
    Miter%20Limit%20Illustration.gif 
    Ответ написан
    Комментировать
  • Как строить асинхронное приложение?

    sergiks
    @sergiks Автор вопроса, куратор тега Алгоритмы
    ♬♬
    На SO дельно порекомендовали фреймворк pureMVC — в основной реализации написан под AS3, есть порты под JS, C, JAVA, PHP, Ruby и другие языки. Если не использовать сходу, то хотя бы оценить грамотность реализации можно, посмотрев вводные презентации об устройстве фреймворка. Автор говорит несколько монотонно, поэтому запаситесь кофе. Но сделал он действительно умную штуку: MVC, обёрнутая за Facade'ом, возможность много-сущностных модульных конструкций. Вдохновляет. Вполне вероятно, буду использовать — и для серверного бэкенда и для Flash/Air клиентов.
    Ответ написан
    Комментировать
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    «Считать точку серой»: в каждом канале отдельно берётся пипеточное значение и мапится на точку 50%.
    Ответ написан
  • Голосование за сущности (когда голосов и сущностей много)

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    До сих пор поступал именно описанным в вопросе «классическим» способом.

    Но для nosql архитектуры, с которой только знакомлюсь на основе Amazon SDB, можно прямо в записи сущности собирать id проголосовавших пользователей. Работает для малого числа голосов за одну сущность — для примера с харбракомментариями. Для +\- варианта придётся в два поля видимо писать id: кто минусует, и кто плюсует. Либо изобретать синтакс типа id+5 или id-3 для +5 или -3 баллов соотв.

    Хорошо бы представлять себе реальное использование этих баллов, и предполагаемые рамки использования.
    Ответ написан
    Комментировать