Предположим, есть задачка, вывести дерево. Под рукой PHP, а как view — Twig. Пусть структура данных на backend будет такой: $tree = [ [ ‘name’ => ‘foo’, ‘children’ => [ [ ‘name’ => ‘bar’, ‘children’ => [ [ ‘name’ => ‘baz’, ‘children’ => [ ], ], [ ‘name’ => ‘baz’, ‘children’ => [ ], ],
Browsing tag: алгоритмы
Requirements = PHP 5.3 function buildTree($flat, $pidKey, $idKey = null) { $grouped = array(); foreach ($flat as $sub){ $grouped[$sub[$pidKey]][] = $sub; } $fnBuilder = function($siblings) use (&$fnBuilder, $grouped, $idKey) { foreach ($siblings as $k => $sibling) { $id = $sibling[$idKey]; if(isset($grouped[$id])) { $sibling[‘children’] = $fnBuilder($grouped[$id]); } $siblings[$k] = $sibling; } return $siblings; }; $tree =
Случилось интересное. Некоторое время назад я разместил код метода Симпсона на pascal. После его индексации на него стало приходить большое количество поисковых запросов (до 30% от всех за сутки), и я решил написать этот метод на основных языках. Пусть первым будет C#. В коде объявлена дополнительная функция double Y(double p) Возвращает значение функции в данной
Штука то интересная. Вес Хэмминга это количество единиц в числе, если его перевести в двоичную систему. Реализовать можно разными способами. Например так:
Для того, что бы понять, как это работает нужно обратиться к геометрическому смыслу интеграла. Интеграл численно равен площади криволинейной трапеции, ограниченной кривой y(x), прямыми x=a, x=b и отрезком [a; b] оси Ox. Формула Симпсона:
Наверное, самый известный из «школьных» шифров. Практической ценности не имеет совершенно, кроме того,чтобы показать, что такое криптография в самом простом её проявлении. Суть алгоритма, заключается в том, что для шифрования строки текста нужно сместить буквы на n-позиций. Например, это значит: abc -> cdf при смещении на 3 символа — ну и так далее. Шифр не
Вся программа написанная на C++ в Visual Studio 2010.
Недавно писал уже о нахождении простых чисел методом перебора. Метод конечно работает, но у него есть одна проблема — медленный он.Чуть более быстрый метод — это решето Эратосфена. Описание алгоритма из Википедии: Для нахождения всех простых чисел не больше заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги: Выписать подряд все целые числа от
Простые числа. Иногда появляется необходимость определить простое ли число или нет. Если взять теорию, то простое число-это такое число, которое делится только на себя и на единицу. Для того, что бы узнать, число является или не является простым, нужно либо перебрать все числа до этого числа, либо, по одной из теорем, достаточно перебрать все числа
Удалось откопать и самую-самую суровую программу времен колледжа. Была лабораторная с заданием: Написать калькулятор для перевода из одной системы счисления в другую. При этом системы счисления могут быть от 2 до 16 -ричных. Проект в Visual Studio 2010 можно скачать здесь, а только исполняемый файл тут UPD: Версия на Pascal тут