Пример #1
0
        public HashTree Build()
        {
            var reader = new FileReader();

            int[][] dataSet = reader.Read("retail.dat.txt");
            //int[][] dataSet = { new[] {1, 2, 3, 4, 5, 6}, new[] {4 ,5}, new[] {5, 6}, new[] {1}, new[] {1, 5}};


            var jobs = new Task[K];

            _forest = new HashTree[K];

            for (int i = 0; i < K; i++)
            {
                int j   = i;
                var job = new Task(() => Job(dataSet, j));
                jobs[i] = job;
                job.Start();
            }

            Task.WaitAll(jobs);


            HashTree hashTree = _forest[0];

            foreach (var tree in _forest.Skip(1))
            {
                hashTree.Merge(tree);
            }


            WriteLine("Tree properly saved.");
            return(hashTree);
        }