public WideTree(ISearchCollection <NodeModel> searchMode, INodeProcessor <NodeModel> nodeProcessor, IPrune prune, IThreadPool threadPool) { this.searchCollection = searchMode; this.visitors = new List <IVisitor>(); this.prune = prune; this.nodeProcessor = nodeProcessor; this.threadPool = threadPool; }
public TreeFactory(Dictionary <int, Point> coordinates) { this.visitors = new List <IVisitor>(); this.coordinates = coordinates; var space = new Space(coordinates); this.sumCalculator = new SumOfSquareCalculator(space); this.prune = new Prune(space.PointMapping.Count); this.nodeProcessor = new NodeProcessor(coordinates.Keys, sumCalculator); this.threadCount = new ThreadCount(); this.searchCollection = new DfsSearch <NodeModel>(); }