Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 11

Достать все элементы из массива внутри других массивов

08.11.2021, 22:38. Показов 1484. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны граф, узлы которого представлены объектами

JavaScript
1
2
3
4
Node = {
    value: number,
    children: Node[]
}
В каждом узле графа есть поле value: number (число) и поле children: Node[] - массив из таких же узлов (поле children может отсутствовать).

Найти:

Узел графа с минимальным значением value.
Узел графа с максимальным значением value.
Среднее значение всех узлов графа.
В данной работе вам помогут рекурсия, чистые функции.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.11.2021, 22:38
Ответы с готовыми решениями:

Высветить все элементы массивов(которые внутри массива)
Нужно высветить все элементы массивов(компилируется и запускается но выдает ошибку) #include <iostream> using namespace std; ...

Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
Помогите, пожалуйста, с программой.. Ввести с клавиатуры два одномерных массива произвольной размерности (например, 3) и создать два...

Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала располагались все элементы массива A, а затем все элементы массива B.
Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала...

7
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
09.11.2021, 05:49
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function calcGraphNodes(root) {
  function calcNodes(node, acc) {
    if (acc.max < node.value) acc.max = node.value;
    if (acc.min > node.value) acc.min = node.value;
    acc.avg = (acc.sum += node.value) / ++acc.count;
    if (node.children && node.children.length > 0) {
      for (let i = 0; i < node.children.length; i++) {
        calcNodes(node.children[i], acc);
      }
    }
 
    return acc;
  }
  
  const {max, min, avg} = calcNodes(root, {
    max: -Infinity,
    min: Infinity,
    sum: 0,
    count: 0,
    avg: 0
  });
  
  return {max, min, avg};
}
1
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
09.11.2021, 08:46
Здравствуйте.
Дерево можно обойти, не запоминая посещенные узлы.
Веселее обойти граф в более общем случае, когда можно наткнуться на уже посещенный узел.
Тогда придется запоминать списочек того, что мы уже посетили.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Граф из https://habr.com/ru/company/otus/blog/568026/ (правая часть моста)
let a = {
    value: 1
};
let b = {
    value: 2
};
let c = {
    value: 3
};
let d = {
    value: 4
};
let e = {
    value: 5
};
a.children = [b, c];
b.children = [a, c, d, e];
c.children = [a, b, d];
d.children = [c, b, e];
e.children = [d, b];
 
function walk(node, array = [], visitedNodes = new Set()) {
    if (visitedNodes.has(node)) return;
    array.push(node.value);
    visitedNodes.add(node);
    let children = node.children;
    if (children)
        for (let child of children) walk(child, array, visitedNodes);
    return array;
}
 
function doIt(node) {
    // let set = new Set();
    // let array = walk(node, undefined, set); // Для тестирования
    let array = walk(node);
    let results = array.reduce(
        (a, b) => {
            if (b < a.min) a.min = b;
            if (b > a.max) a.max = b;
            a.sum += b;
            ++a.count;
            return a;
        },
        { min: Infinity, max: -Infinity, sum: 0, count: 0 }
    );
    // console.log(array); // Для тестирования
    // console.log(set);
    return results;
}
 
let results = doIt(a);
console.log(`Узел графа с минимальным значением value: ${results.count ? results.min : undefined}
Узел графа с максимальным значением value: ${results.count ? results.max : undefined}
Среднее значение всех узлов графа: ${results.count ? results.sum / results.count : undefined}`);
0
22 / 15 / 8
Регистрация: 20.02.2019
Сообщений: 128
09.11.2021, 12:56
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const node = {
    value: 1,
    children: [
        {
            value: 2,
            children: [
                {
                    value: 3,
                    children: [
                        {
                            value: 11,
                            children: [
                                {
                                    value: 12,
                                }
                            ]
                        }
                    ]
                }
            ]
        }, {
            value: 77,
            children: [
                {
                    value: 33
                }
            ]
        }
    ]
}
 
const caclValueOfNodes = ((arr = []) => {
    return function func(node) {
        arr.push(node.value)
        if (!Array.isArray(node.children)) return arr;
        for (const chNode of node.children) func(chNode);
        return {
            minValue: Math.min(...arr),
            maxValue: Math.max(...arr),
            middleValue: ~~(arr.reduce((a,b)=>a+b) / 2)
        };
    }
})();
 
console.log(caclValueOfNodes(node));
0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 11
10.11.2021, 14:07  [ТС]
а можно обяснить как работает даный код
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
10.11.2021, 14:10
vadimmroz, встречный вопрос - а вам какой граф нужен?
Я например взял правую половинку из картинки "мост" с Хабра: https://habr.com/ru/company/otus/blog/568026/
0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 11
11.11.2021, 17:13  [ТС]
JavaScript
1
const graph = {value:75,children:[{value:18,children:[{value:35,children:[{value:35,children:[{value:66,children:[{value:29,children:[{value:85},{value:31,children:[{value:68},{value:10,children:[{value:100,children:[{value:21,children:[{value:21},{value:64}]},{value:86}]}]}]}]},{value:61,children:[{value:14,children:[{value:83,children:[{value:22,children:[{value:29,children:[{value:59},{value:92}]},{value:12,children:[{value:18}]},{value:6,children:[{value:12},{value:2}]}]},{value:3,children:[{value:96,children:[{value:5},{value:46}]}]}]},{value:98,children:[{value:17,children:[{value:35,children:[{value:51},{value:9},{value:5}]}]}]},{value:14,children:[{value:33,children:[{value:9,children:[{value:35},{value:69},{value:6}]},{value:47,children:[{value:4}]},{value:52,children:[{value:74},{value:55}]}]},{value:88,children:[{value:71,children:[{value:35}]},{value:6,children:[{value:74}]},{value:26,children:[{value:80},{value:42}]}]}]}]},{value:36,children:[{value:46,children:[{value:65,children:[{value:38,children:[{value:91}]},{value:9,children:[{value:99}]}]}]}]},{value:73,children:[{value:7,children:[{value:19}]},{value:21,children:[{value:18,children:[{value:61,children:[{value:85}]},{value:18,children:[{value:15},{value:42}]}]},{value:46,children:[{value:48,children:[{value:98}]},{value:74,children:[{value:36},{value:93}]}]},{value:83,children:[{value:80,children:[{value:11},{value:55}]},{value:59,children:[{value:15},{value:38}]}]}]},{value:35}]}]},{value:80,children:[{value:4},{value:81,children:[{value:14,children:[{value:76,children:[{value:84},{value:18,children:[{value:49},{value:65}]}]},{value:74,children:[{value:12,children:[{value:71}]},{value:82,children:[{value:24},{value:55},{value:61}]}]}]}]}]}]},{value:54,children:[{value:13,children:[{value:32,children:[{value:67,children:[{value:94}]}]}]},{value:85,children:[{value:55,children:[{value:90},{value:48,children:[{value:59,children:[{value:29,children:[{value:14},{value:26}]},{value:25,children:[{value:86},{value:91},{value:62}]}]},{value:99,children:[{value:66,children:[{value:44}]},{value:65,children:[{value:68},{value:5}]}]},{value:85,children:[{value:71,children:[{value:56},{value:50},{value:66}]}]}]},{value:26}]}]}]},{value:22,children:[{value:17,children:[{value:65}]}]}]},{value:17,children:[{value:3,children:[{value:34,children:[{value:97}]},{value:16,children:[{value:78,children:[{value:27,children:[{value:34,children:[{value:20,children:[{value:86}]},{value:24,children:[{value:7}]}]}]}]}]},{value:49,children:[{value:32,children:[{value:8,children:[{value:31,children:[{value:68,children:[{value:27},{value:52}]},{value:76,children:[{value:15},{value:93},{value:14}]}]}]},{value:3,children:[{value:21,children:[{value:23,children:[{value:15}]}]}]}]}]}]}]},{value:53,children:[{value:3,children:[{value:98,children:[{value:90,children:[{value:76,children:[{value:87,children:[{value:52,children:[{value:56}]}]},{value:47},{value:40,children:[{value:80,children:[{value:34}]},{value:23,children:[{value:47},{value:92}]},{value:98,children:[{value:89},{value:16},{value:10}]}]}]},{value:57,children:[{value:92,children:[{value:68,children:[{value:75},{value:93},{value:42}]},{value:54,children:[{value:81}]}]}]}]},{value:35,children:[{value:89,children:[{value:76,children:[{value:50,children:[{value:51},{value:90}]},{value:69,children:[{value:93},{value:98},{value:62}]}]}]}]}]}]},{value:73,children:[{value:84,children:[{value:90,children:[{value:83,children:[{value:29,children:[{value:55,children:[{value:81}]}]},{value:93,children:[{value:34},{value:97,children:[{value:76}]},{value:70,children:[{value:91}]}]}]},{value:53,children:[{value:96,children:[{value:12,children:[{value:7},{value:72},{value:99}]}]}]}]},{value:17,children:[{value:59,children:[{value:87,children:[{value:6,children:[{value:34},{value:43},{value:76}]},{value:82},{value:89,children:[{value:26},{value:69},{value:45}]}]},{value:39,children:[{value:2}]}]}]}]},{value:3,children:[{value:62,children:[{value:68,children:[{value:51},{value:36,children:[{value:78,children:[{value:93}]}]}]},{value:8,children:[{value:65,children:[{value:99,children:[{value:99},{value:46}]}]},{value:54,children:[{value:52,children:[{value:21},{value:65}]}]}]}]},{value:45,children:[{value:78}]}]}]}]}]}]},{value:98,children:[{value:85},{value:85,children:[{value:58,children:[{value:81,children:[{value:36,children:[{value:45,children:[{value:96,children:[{value:15,children:[{value:11,children:[{value:96}]}]},{value:48,children:[{value:4,children:[{value:74},{value:1}]},{value:7}]}]},{value:84,children:[{value:9},{value:81,children:[{value:10,children:[{value:67}]}]}]}]},{value:85,children:[{value:53},{value:7,children:[{value:47,children:[{value:74,children:[{value:30},{value:7},{value:12}]},{value:22}]},{value:56,children:[{value:51,children:[{value:45}]},{value:54,children:[{value:20},{value:62}]}]}]}]}]}]},{value:28,children:[{value:50,children:[{value:60,children:[{value:88,children:[{value:40}]},{value:79,children:[{value:89,children:[{value:53,children:[{value:54}]},{value:54,children:[{value:15},{value:61}]}]},{value:94,children:[{value:29,children:[{value:61}]}]}]}]},{value:57,children:[{value:19,children:[{value:88,children:[{value:12,children:[{value:76}]},{value:80,children:[{value:69},{value:34}]}]}]},{value:76},{value:28}]}]}]}]},{value:62,children:[{value:36,children:[{value:39,children:[{value:20}]},{value:15,children:[{value:54,children:[{value:62,children:[{value:86,children:[{value:34,children:[{value:75}]},{value:77,children:[{value:1}]},{value:83,children:[{value:88},{value:89},{value:5}]}]},{value:99,children:[{value:63,children:[{value:98},{value:20}]}]}]},{value:87}]}]},{value:10,children:[{value:91,children:[{value:81,children:[{value:59,children:[{value:19,children:[{value:59},{value:16}]},{value:35,children:[{value:30}]},{value:6,children:[{value:27}]}]},{value:89,children:[{value:60,children:[{value:59}]}]}]}]},{value:45,children:[{value:72,children:[{value:56,children:[{value:64},{value:49,children:[{value:41},{value:38}]}]},{value:66,children:[{value:92,children:[{value:53},{value:68},{value:17}]},{value:44,children:[{value:69}]}]}]}]}]}]},{value:79,children:[{value:32,children:[{value:55,children:[{value:64,children:[{value:59,children:[{value:93,children:[{value:68},{value:43},{value:55}]},{value:74,children:[{value:27}]}]},{value:1,children:[{value:37},{value:51,children:[{value:72},{value:91}]}]}]}]}]},{value:9,children:[{value:29,children:[{value:51,children:[{value:15,children:[{value:69,children:[{value:82}]},{value:80,children:[{value:69}]}]},{value:2,children:[{value:50},{value:7,children:[{value:75},{value:17},{value:97}]}]},{value:90,children:[{value:89,children:[{value:5},{value:60}]},{value:76,children:[{value:19},{value:95}]}]}]}]},{value:85}]}]}]},{value:70,children:[{value:56,children:[{value:81,children:[{value:85,children:[{value:84,children:[{value:1},{value:75,children:[{value:60,children:[{value:96},{value:95},{value:7}]},{value:48,children:[{value:71},{value:92}]}]},{value:8,children:[{value:38,children:[{value:70}]}]}]},{value:11}]},{value:37,children:[{value:18,children:[{value:18},{value:3}]},{value:24,children:[{value:20,children:[{value:44,children:[{value:19},{value:3},{value:95}]}]}]}]}]}]}]}]},{value:61,children:[{value:50,children:[{value:31,children:[{value:15,children:[{value:82,children:[{value:49,children:[{value:26,children:[{value:15,children:[{value:80}]},{value:81,children:[{value:14}]}]},{value:68,children:[{value:46,children:[{value:13},{value:5},{value:9}]},{value:16,children:[{value:94},{value:25},{value:3}]}]}]}]},{value:1,children:[{value:66}]}]}]},{value:71,children:[{value:92,children:[{value:74,children:[{value:78,children:[{value:78},{value:70,children:[{value:15},{value:16,children:[{value:38},{value:53}]},{value:49}]}]}]}]}]},{value:3}]},{value:80,children:[{value:55,children:[{value:97,children:[{value:20,children:[{value:15,children:[{value:90,children:[{value:71,children:[{value:57},{value:23}]},{value:73,children:[{value:23},{value:87}]}]},{value:68}]},{value:8}]}]},{value:41,children:[{value:63,children:[{value:85},{value:36,children:[{value:33,children:[{value:99,children:[{value:27}]},{value:68,children:[{value:1}]},{value:80,children:[{value:32}]}]}]},{value:57,children:[{value:35,children:[{value:33,children:[{value:74},{value:20}]},{value:20,children:[{value:9},{value:91},{value:76}]},{value:47,children:[{value:18},{value:7},{value:36}]}]}]}]}]}]}]}]}]},{value:8,children:[{value:56,children:[{value:55,children:[{value:41,children:[{value:17,children:[{value:15,children:[{value:40,children:[{value:55,children:[{value:50},{value:99,children:[{value:86},{value:90}]}]}]},{value:85,children:[{value:36,children:[{value:39,children:[{value:45}]}]}]},{value:78,children:[{value:24,children:[{value:93,children:[{value:8}]},{value:26,children:[{value:5}]}]},{value:36}]}]},{value:13}]},{value:6,children:[{value:96,children:[{value:5,children:[{value:59,children:[{value:98,children:[{value:98}]}]},{value:46,children:[{value:52,children:[{value:41}]},{value:41,children:[{value:60},{value:50}]}]}]}]},{value:29,children:[{value:9,children:[{value:59,children:[{value:88},{value:5}]},{value:79,children:[{value:15,children:[{value:8},{value:29},{value:80}]}]}]}]}]}]},{value:10,children:[{value:0,children:[{value:77,children:[{value:46,children:[{value:72,children:[{value:17,children:[{value:10},{value:67}]},{value:48},{value:59}]},{value:97,children:[{value:11,children:[{value:60},{value:26}]}]}]}]},{value:83,children:[{value:55,children:[{value:52,children:[{value:44,children:[{value:72},{value:35},{value:48}]}]},{value:14,children:[{value:59,children:[{value:1},{value:7}]}]}]},{value:6,children:[{value:77,children:[{value:92},{value:35,children:[{value:75},{value:97}]},{value:44,children:[{value:45}]}]},{value:58,children:[{value:41,children:[{value:20}]},{value:1}]}]}]},{value:80,children:[{value:93,children:[{value:71,children:[{value:47,children:[{value:51},{value:89},{value:81}]},{value:45},{value:87,children:[{value:35},{value:5},{value:13}]}]}]},{value:22,children:[{value:40,children:[{value:65,children:[{value:45},{value:93}]},{value:61,children:[{value:62},{value:42}]},{value:72,children:[{value:32},{value:44}]}]},{value:18,children:[{value:1,children:[{value:18},{value:47}]}]}]}]}]}]}]}]}]}]}
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
11.11.2021, 19:56
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

vadimmroz, это дерево. Является частным случаем графа.
Повторяющиеся узлы искать не надо. Можно использовать алгоритм попроще.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const graph = { value: 75, children: [{ value: 18, children: [{ value: 35, children: [{ value: 35, children: [{ value: 66, children: [{ value: 29, children: [{ value: 85 }, { value: 31, children: [{ value: 68 }, { value: 10, children: [{ value: 100, children: [{ value: 21, children: [{ value: 21 }, { value: 64 }] }, { value: 86 }] }] }] }] }, { value: 61, children: [{ value: 14, children: [{ value: 83, children: [{ value: 22, children: [{ value: 29, children: [{ value: 59 }, { value: 92 }] }, { value: 12, children: [{ value: 18 }] }, { value: 6, children: [{ value: 12 }, { value: 2 }] }] }, { value: 3, children: [{ value: 96, children: [{ value: 5 }, { value: 46 }] }] }] }, { value: 98, children: [{ value: 17, children: [{ value: 35, children: [{ value: 51 }, { value: 9 }, { value: 5 }] }] }] }, { value: 14, children: [{ value: 33, children: [{ value: 9, children: [{ value: 35 }, { value: 69 }, { value: 6 }] }, { value: 47, children: [{ value: 4 }] }, { value: 52, children: [{ value: 74 }, { value: 55 }] }] }, { value: 88, children: [{ value: 71, children: [{ value: 35 }] }, { value: 6, children: [{ value: 74 }] }, { value: 26, children: [{ value: 80 }, { value: 42 }] }] }] }] }, { value: 36, children: [{ value: 46, children: [{ value: 65, children: [{ value: 38, children: [{ value: 91 }] }, { value: 9, children: [{ value: 99 }] }] }] }] }, { value: 73, children: [{ value: 7, children: [{ value: 19 }] }, { value: 21, children: [{ value: 18, children: [{ value: 61, children: [{ value: 85 }] }, { value: 18, children: [{ value: 15 }, { value: 42 }] }] }, { value: 46, children: [{ value: 48, children: [{ value: 98 }] }, { value: 74, children: [{ value: 36 }, { value: 93 }] }] }, { value: 83, children: [{ value: 80, children: [{ value: 11 }, { value: 55 }] }, { value: 59, children: [{ value: 15 }, { value: 38 }] }] }] }, { value: 35 }] }] }, { value: 80, children: [{ value: 4 }, { value: 81, children: [{ value: 14, children: [{ value: 76, children: [{ value: 84 }, { value: 18, children: [{ value: 49 }, { value: 65 }] }] }, { value: 74, children: [{ value: 12, children: [{ value: 71 }] }, { value: 82, children: [{ value: 24 }, { value: 55 }, { value: 61 }] }] }] }] }] }] }, { value: 54, children: [{ value: 13, children: [{ value: 32, children: [{ value: 67, children: [{ value: 94 }] }] }] }, { value: 85, children: [{ value: 55, children: [{ value: 90 }, { value: 48, children: [{ value: 59, children: [{ value: 29, children: [{ value: 14 }, { value: 26 }] }, { value: 25, children: [{ value: 86 }, { value: 91 }, { value: 62 }] }] }, { value: 99, children: [{ value: 66, children: [{ value: 44 }] }, { value: 65, children: [{ value: 68 }, { value: 5 }] }] }, { value: 85, children: [{ value: 71, children: [{ value: 56 }, { value: 50 }, { value: 66 }] }] }] }, { value: 26 }] }] }] }, { value: 22, children: [{ value: 17, children: [{ value: 65 }] }] }] }, { value: 17, children: [{ value: 3, children: [{ value: 34, children: [{ value: 97 }] }, { value: 16, children: [{ value: 78, children: [{ value: 27, children: [{ value: 34, children: [{ value: 20, children: [{ value: 86 }] }, { value: 24, children: [{ value: 7 }] }] }] }] }] }, { value: 49, children: [{ value: 32, children: [{ value: 8, children: [{ value: 31, children: [{ value: 68, children: [{ value: 27 }, { value: 52 }] }, { value: 76, children: [{ value: 15 }, { value: 93 }, { value: 14 }] }] }] }, { value: 3, children: [{ value: 21, children: [{ value: 23, children: [{ value: 15 }] }] }] }] }] }] }] }, { value: 53, children: [{ value: 3, children: [{ value: 98, children: [{ value: 90, children: [{ value: 76, children: [{ value: 87, children: [{ value: 52, children: [{ value: 56 }] }] }, { value: 47 }, { value: 40, children: [{ value: 80, children: [{ value: 34 }] }, { value: 23, children: [{ value: 47 }, { value: 92 }] }, { value: 98, children: [{ value: 89 }, { value: 16 }, { value: 10 }] }] }] }, { value: 57, children: [{ value: 92, children: [{ value: 68, children: [{ value: 75 }, { value: 93 }, { value: 42 }] }, { value: 54, children: [{ value: 81 }] }] }] }] }, { value: 35, children: [{ value: 89, children: [{ value: 76, children: [{ value: 50, children: [{ value: 51 }, { value: 90 }] }, { value: 69, children: [{ value: 93 }, { value: 98 }, { value: 62 }] }] }] }] }] }] }, { value: 73, children: [{ value: 84, children: [{ value: 90, children: [{ value: 83, children: [{ value: 29, children: [{ value: 55, children: [{ value: 81 }] }] }, { value: 93, children: [{ value: 34 }, { value: 97, children: [{ value: 76 }] }, { value: 70, children: [{ value: 91 }] }] }] }, { value: 53, children: [{ value: 96, children: [{ value: 12, children: [{ value: 7 }, { value: 72 }, { value: 99 }] }] }] }] }, { value: 17, children: [{ value: 59, children: [{ value: 87, children: [{ value: 6, children: [{ value: 34 }, { value: 43 }, { value: 76 }] }, { value: 82 }, { value: 89, children: [{ value: 26 }, { value: 69 }, { value: 45 }] }] }, { value: 39, children: [{ value: 2 }] }] }] }] }, { value: 3, children: [{ value: 62, children: [{ value: 68, children: [{ value: 51 }, { value: 36, children: [{ value: 78, children: [{ value: 93 }] }] }] }, { value: 8, children: [{ value: 65, children: [{ value: 99, children: [{ value: 99 }, { value: 46 }] }] }, { value: 54, children: [{ value: 52, children: [{ value: 21 }, { value: 65 }] }] }] }] }, { value: 45, children: [{ value: 78 }] }] }] }] }] }] }, { value: 98, children: [{ value: 85 }, { value: 85, children: [{ value: 58, children: [{ value: 81, children: [{ value: 36, children: [{ value: 45, children: [{ value: 96, children: [{ value: 15, children: [{ value: 11, children: [{ value: 96 }] }] }, { value: 48, children: [{ value: 4, children: [{ value: 74 }, { value: 1 }] }, { value: 7 }] }] }, { value: 84, children: [{ value: 9 }, { value: 81, children: [{ value: 10, children: [{ value: 67 }] }] }] }] }, { value: 85, children: [{ value: 53 }, { value: 7, children: [{ value: 47, children: [{ value: 74, children: [{ value: 30 }, { value: 7 }, { value: 12 }] }, { value: 22 }] }, { value: 56, children: [{ value: 51, children: [{ value: 45 }] }, { value: 54, children: [{ value: 20 }, { value: 62 }] }] }] }] }] }] }, { value: 28, children: [{ value: 50, children: [{ value: 60, children: [{ value: 88, children: [{ value: 40 }] }, { value: 79, children: [{ value: 89, children: [{ value: 53, children: [{ value: 54 }] }, { value: 54, children: [{ value: 15 }, { value: 61 }] }] }, { value: 94, children: [{ value: 29, children: [{ value: 61 }] }] }] }] }, { value: 57, children: [{ value: 19, children: [{ value: 88, children: [{ value: 12, children: [{ value: 76 }] }, { value: 80, children: [{ value: 69 }, { value: 34 }] }] }] }, { value: 76 }, { value: 28 }] }] }] }] }, { value: 62, children: [{ value: 36, children: [{ value: 39, children: [{ value: 20 }] }, { value: 15, children: [{ value: 54, children: [{ value: 62, children: [{ value: 86, children: [{ value: 34, children: [{ value: 75 }] }, { value: 77, children: [{ value: 1 }] }, { value: 83, children: [{ value: 88 }, { value: 89 }, { value: 5 }] }] }, { value: 99, children: [{ value: 63, children: [{ value: 98 }, { value: 20 }] }] }] }, { value: 87 }] }] }, { value: 10, children: [{ value: 91, children: [{ value: 81, children: [{ value: 59, children: [{ value: 19, children: [{ value: 59 }, { value: 16 }] }, { value: 35, children: [{ value: 30 }] }, { value: 6, children: [{ value: 27 }] }] }, { value: 89, children: [{ value: 60, children: [{ value: 59 }] }] }] }] }, { value: 45, children: [{ value: 72, children: [{ value: 56, children: [{ value: 64 }, { value: 49, children: [{ value: 41 }, { value: 38 }] }] }, { value: 66, children: [{ value: 92, children: [{ value: 53 }, { value: 68 }, { value: 17 }] }, { value: 44, children: [{ value: 69 }] }] }] }] }] }] }, { value: 79, children: [{ value: 32, children: [{ value: 55, children: [{ value: 64, children: [{ value: 59, children: [{ value: 93, children: [{ value: 68 }, { value: 43 }, { value: 55 }] }, { value: 74, children: [{ value: 27 }] }] }, { value: 1, children: [{ value: 37 }, { value: 51, children: [{ value: 72 }, { value: 91 }] }] }] }] }] }, { value: 9, children: [{ value: 29, children: [{ value: 51, children: [{ value: 15, children: [{ value: 69, children: [{ value: 82 }] }, { value: 80, children: [{ value: 69 }] }] }, { value: 2, children: [{ value: 50 }, { value: 7, children: [{ value: 75 }, { value: 17 }, { value: 97 }] }] }, { value: 90, children: [{ value: 89, children: [{ value: 5 }, { value: 60 }] }, { value: 76, children: [{ value: 19 }, { value: 95 }] }] }] }] }, { value: 85 }] }] }] }, { value: 70, children: [{ value: 56, children: [{ value: 81, children: [{ value: 85, children: [{ value: 84, children: [{ value: 1 }, { value: 75, children: [{ value: 60, children: [{ value: 96 }, { value: 95 }, { value: 7 }] }, { value: 48, children: [{ value: 71 }, { value: 92 }] }] }, { value: 8, children: [{ value: 38, children: [{ value: 70 }] }] }] }, { value: 11 }] }, { value: 37, children: [{ value: 18, children: [{ value: 18 }, { value: 3 }] }, { value: 24, children: [{ value: 20, children: [{ value: 44, children: [{ value: 19 }, { value: 3 }, { value: 95 }] }] }] }] }] }] }] }] }, { value: 61, children: [{ value: 50, children: [{ value: 31, children: [{ value: 15, children: [{ value: 82, children: [{ value: 49, children: [{ value: 26, children: [{ value: 15, children: [{ value: 80 }] }, { value: 81, children: [{ value: 14 }] }] }, { value: 68, children: [{ value: 46, children: [{ value: 13 }, { value: 5 }, { value: 9 }] }, { value: 16, children: [{ value: 94 }, { value: 25 }, { value: 3 }] }] }] }] }, { value: 1, children: [{ value: 66 }] }] }] }, { value: 71, children: [{ value: 92, children: [{ value: 74, children: [{ value: 78, children: [{ value: 78 }, { value: 70, children: [{ value: 15 }, { value: 16, children: [{ value: 38 }, { value: 53 }] }, { value: 49 }] }] }] }] }] }, { value: 3 }] }, { value: 80, children: [{ value: 55, children: [{ value: 97, children: [{ value: 20, children: [{ value: 15, children: [{ value: 90, children: [{ value: 71, children: [{ value: 57 }, { value: 23 }] }, { value: 73, children: [{ value: 23 }, { value: 87 }] }] }, { value: 68 }] }, { value: 8 }] }] }, { value: 41, children: [{ value: 63, children: [{ value: 85 }, { value: 36, children: [{ value: 33, children: [{ value: 99, children: [{ value: 27 }] }, { value: 68, children: [{ value: 1 }] }, { value: 80, children: [{ value: 32 }] }] }] }, { value: 57, children: [{ value: 35, children: [{ value: 33, children: [{ value: 74 }, { value: 20 }] }, { value: 20, children: [{ value: 9 }, { value: 91 }, { value: 76 }] }, { value: 47, children: [{ value: 18 }, { value: 7 }, { value: 36 }] }] }] }] }] }] }] }] }] }, { value: 8, children: [{ value: 56, children: [{ value: 55, children: [{ value: 41, children: [{ value: 17, children: [{ value: 15, children: [{ value: 40, children: [{ value: 55, children: [{ value: 50 }, { value: 99, children: [{ value: 86 }, { value: 90 }] }] }] }, { value: 85, children: [{ value: 36, children: [{ value: 39, children: [{ value: 45 }] }] }] }, { value: 78, children: [{ value: 24, children: [{ value: 93, children: [{ value: 8 }] }, { value: 26, children: [{ value: 5 }] }] }, { value: 36 }] }] }, { value: 13 }] }, { value: 6, children: [{ value: 96, children: [{ value: 5, children: [{ value: 59, children: [{ value: 98, children: [{ value: 98 }] }] }, { value: 46, children: [{ value: 52, children: [{ value: 41 }] }, { value: 41, children: [{ value: 60 }, { value: 50 }] }] }] }] }, { value: 29, children: [{ value: 9, children: [{ value: 59, children: [{ value: 88 }, { value: 5 }] }, { value: 79, children: [{ value: 15, children: [{ value: 8 }, { value: 29 }, { value: 80 }] }] }] }] }] }] }, { value: 10, children: [{ value: 0, children: [{ value: 77, children: [{ value: 46, children: [{ value: 72, children: [{ value: 17, children: [{ value: 10 }, { value: 67 }] }, { value: 48 }, { value: 59 }] }, { value: 97, children: [{ value: 11, children: [{ value: 60 }, { value: 26 }] }] }] }] }, { value: 83, children: [{ value: 55, children: [{ value: 52, children: [{ value: 44, children: [{ value: 72 }, { value: 35 }, { value: 48 }] }] }, { value: 14, children: [{ value: 59, children: [{ value: 1 }, { value: 7 }] }] }] }, { value: 6, children: [{ value: 77, children: [{ value: 92 }, { value: 35, children: [{ value: 75 }, { value: 97 }] }, { value: 44, children: [{ value: 45 }] }] }, { value: 58, children: [{ value: 41, children: [{ value: 20 }] }, { value: 1 }] }] }] }, { value: 80, children: [{ value: 93, children: [{ value: 71, children: [{ value: 47, children: [{ value: 51 }, { value: 89 }, { value: 81 }] }, { value: 45 }, { value: 87, children: [{ value: 35 }, { value: 5 }, { value: 13 }] }] }] }, { value: 22, children: [{ value: 40, children: [{ value: 65, children: [{ value: 45 }, { value: 93 }] }, { value: 61, children: [{ value: 62 }, { value: 42 }] }, { value: 72, children: [{ value: 32 }, { value: 44 }] }] }, { value: 18, children: [{ value: 1, children: [{ value: 18 }, { value: 47 }] }] }] }] }] }] }] }] }] }] }
 
// Один вызов функции walk добавляет для узла из параметра значение его value в результирующий массив array
function walk(node, array = []) { // При первом запуске функции массива не было, создается пустой
    array.push(node.value); // Добавить значение value из узла в массив
    let children = node.children; // Массив узлов, с которыми саязан текущий узел
    if (children) // Если массив узлов существует, то для каждого связанного узла из массива вызвать функцию walk()
        for (let child of children) walk(child, array);
    return array; // Вернуть массив с элементами value
}
 
function doIt(node) {
    let array = walk(node); // Получить массив из value каждого узла дерева
    let results = array.reduce( // В объекте поместить минимум, максимум, сумму и количество value, перебирая каждый элемент массива
        (a, b) => {
            if (b < a.min) a.min = b; // минимум
            if (b > a.max) a.max = b; // максимум
            a.sum += b; // сумму
            ++a.count; // количество
            return a;
        },
        { min: Infinity, max: -Infinity, sum: 0, count: 0 } // Объект, в котором копится минимум, максимум, сумму и количество value
    );
    return results; // Вернуть объект, в котором минимум, максимум, сумму и количество value
}
 
let results = doIt(graph);
console.log(`Узел графа с минимальным значением value: ${results.min}
Узел графа с максимальным значением value: ${results.max}
Среднее значение всех узлов графа: ${results.sum / results.count}`);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2021, 19:56
Помогаю со студенческими работами здесь

Скопировать в массив все положительные элементы из двух других массивов
Программа должна создать два массива со случайными элементами из диапазона по 10 элементов в каждом массиве, вывести каждый массив на...

Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания
Нужно задать массив В целых чисел. Не используя других массивов, отсортировать положительные элементы массива в порядке возрастания, а...

Не используя других массивов, переставить элементы заданного массива в обратном порядке
Дан массив целых чисел. Не используя других массивов, переставить элементы массива в обратном порядке. Заранее благодарю.

Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные
Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать...

Для каждого из массивов все отрицательные элементы переместить в начало массива, а все положительные — в конец
Составить программу, которая превращает массивы А и В следующим образом: для каждого из них все отрицательные элементы одномерного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru