Поиск в ширину в двоичном бинарном дереве - C#

Узнай цену своей работы

Формулировка задачи:

Ребят привет. У меня есть класс двоичного бинарного дерева, представленный как связь узлов. Помогите написать алгоритм поиска в ширину(breadth-first search) через очередь и функцию подсчитывающую высоту дерева...
class Uzel<TNode> : IComparable<TNode> where TNode : IComparable<TNode> 
    {                                              
        public Uzel<TNode> Left { get; set; }   
        public Uzel<TNode> Right { get; set; }  
        public TNode Value { get; private set; }  
 
        public Uzel(TNode value)                
        {
            Value = value;
        }
        
        public int CompareTo(TNode other)    
        {                                         
            return Value.CompareTo(other);   
        }
 
        public int CompareNode(Uzel<TNode> other)
        {
            return Value.CompareTo(other.Value);
        }
    }
public class Tree<T> : IEnumerable<T> where T : IComparable<T> 
    {
        private Uzel<T> top; 
        
    }

Решение задачи: «Поиск в ширину в двоичном бинарном дереве»

textual
Листинг программы
public IEnumerator<T> BFS()
        {
            if (top == null)
                yield break; 
            
            Queue<Uzel<T>> queue = new Queue<Uzel<T>>();
            Uzel<T> current = top;
            queue.Enqueue(current);
            while (queue.Count != 0)
            {
                Uzel<T> index = queue.Dequeue();
                Console.WriteLine(index);
                yield return current.Value;
                
                if (current.Left != null)
                {
                    queue.Enqueue(current.Left);
                }
                if (current.Right != null)
                {
                    queue.Enqueue(current.Right);
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы