public SortResults Estimate(EnumArraySortAlgorithms sortAlgorithm, EnumArrayDataProviders searchDataProvider) { var _sort = GetSort(sortAlgorithm); var _searchData = new DataProvidersFactory(SampleSize).GetProvider(searchDataProvider); return(_sort.Sort(_searchData.Data)); }
public IArrayDataProvider GetProvider(EnumArrayDataProviders arrayDataProvider) { return(arrayDataProvider switch { EnumArrayDataProviders.SortedAndUniform => new SortedAndUniformProvider(SampleSize), EnumArrayDataProviders.Sorted => new SortedProvider(SampleSize), EnumArrayDataProviders.Unsorted => new UnsortedProvider(SampleSize), EnumArrayDataProviders.ReverseSorted => new SortedAndUniformProvider(SampleSize), _ => throw new NotImplementedException("Unknown data provider '" + nameof(arrayDataProvider) + "'"), });
public SearchResults Estimate(EnumArraysSearchAlgorithms searchAlgorithm, EnumArrayDataProviders searchDataProvider) { var _search = GetSearch(searchAlgorithm); var _searchData = new DataProvidersFactory(SampleSize).GetProvider(searchDataProvider); var searchResults = new SearchResults() { ArrayCount = _searchData.Data.Count }; searchResults.MinValue = _search.Find(_searchData.Data, _searchData.MinValue); searchResults.AvgValue = _search.Find(_searchData.Data, _searchData.AvgValue); searchResults.MaxValue = _search.Find(_searchData.Data, _searchData.MaxValue); searchResults.RandomValue = _search.Find(_searchData.Data, _searchData.RandomValue); searchResults.NotFoundValue = _search.Find(_searchData.Data, _searchData.NotFoundValue); return(searchResults); }