Найдите наименьший узел в дереве - PullRequest
0 голосов
/ 20 июня 2020

Я работаю над Laravel + Vue и застрял в процессе поиска наименьшего узла в дереве. Это изображение, которое вы увидите ниже, представляет собой структуру. В одном узле должно быть 3 подузла, если он получил четвертый, он, новый узел заполнит наименьшие подузлы ниже ИЗОБРАЖЕНИЕ ЗДЕСЬ

Я уже реализовал для части уровня 3, но я борюсь с тем, что мне делать, если когда-либо новый узел заполнит наименьшие подузлы узлов уровня 4 и уровня 5 до уровня 7?

Кто угодно может поделиться их знания для работы делают эту работу?

вот что я получил до сих пор

getMemberHasLowestMember(data) {
        // get the lowest number of members count
        let lowest_number_of_members = data.reduce((min, b) => Math.min(min, b.members.length), data[0].members.length)

        // get the members who have the lowest number of members
        let member_has_low_members = data.filter(member => member.members.length == lowest_number_of_members)

        if(member_has_low_members.length > 1) {
          // get the random number from length of members_has_low_members
          let random_number = Math.floor(Math.random() * Math.floor(member_has_low_members.length))
          return member_has_low_members[random_number]
        } else {
          return member_has_low_members[0]
        }
},

В этом случае у меня есть 1 пользовательские данные, и у них есть объект teams, и в этом объекте он имеет members, но поскольку объект go глубже, я все еще не знаю, как получить членов команды до уровня 7

...