Среднее арифметическое узлов графа

198
23 октября 2021, 14:30

Есть ф-я которая суммирует значения узлов графа

const average = graph => {
    const sum = graph => {
        const { value, children } = graph;
        return children
            ? children.reduce((acc, cur) => acc + sum(cur), value)
            : value;
    };
    return sum(graph);
};

Как узнать количество узлов графа для подсчета среднего арифметического (важно использовать только функциональное программирование)

Answer 1
const curry = reducer => {
    const walk = graph => {
        const { children } = graph;
        return children
            ? children.map(walk).reduce(reducer, { ...graph, count: 1 })
            : { ...graph, count: 1 };
    };
    return walk;
};
const average = graph => {
    const { value, count } = curry((acc, cur) => {
        return {
            value: acc.value + cur.value,
            count: acc.count + cur.count
        };
    })(graph);
    return value / count;
};
READ ALSO
Построить линию по полученным данным

Построить линию по полученным данным

из базы получаю данные json = {[x,y],[x,y]}

94
Как добавлять изменения в eventListener в хуке update Vue Directive? или как удалить прошлого слушателя с элемента

Как добавлять изменения в eventListener в хуке update Vue Directive? или как удалить прошлого слушателя с элемента

Есть директива, которая на эвенты mouseenter, mouseleave и другие приходящие эвенты из binding параметра показывает тултип на элементеИногда при изменениях...

154
Где нужно инициализировать MongoDB?

Где нужно инициализировать MongoDB?

Например, я хочу создать индексы для коллекцииГде я это должен делать, в DbContext? Он будет часто инициализироваться и каждый раз создавать индексы,...

80