diff options
| author | Egor Tensin <Egor.Tensin@gmail.com> | 2019-12-23 07:32:18 +0300 |
|---|---|---|
| committer | Egor Tensin <Egor.Tensin@gmail.com> | 2019-12-23 07:32:18 +0300 |
| commit | 0d25b5d6957d76bab486e2279c99e130c19d5c31 (patch) | |
| tree | c8c7d6fe4766470bda03e49a004afaa03c967b16 /algorithms/impl/median.py | |
| parent | Travis: add badge to README (diff) | |
| download | sorting-algorithms-0d25b5d6957d76bab486e2279c99e130c19d5c31.tar.gz sorting-algorithms-0d25b5d6957d76bab486e2279c99e130c19d5c31.zip | |
pylint/pep8 fixes
Diffstat (limited to 'algorithms/impl/median.py')
| -rw-r--r-- | algorithms/impl/median.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/algorithms/impl/median.py b/algorithms/impl/median.py index b48e511..a754cdb 100644 --- a/algorithms/impl/median.py +++ b/algorithms/impl/median.py @@ -9,6 +9,7 @@ import sys from ..algorithm import Algorithm from .quicksort import quicksort_random + def calc_median_heaps(xs): cur_median = 0.0 min_heap, max_heap = [], [] @@ -33,6 +34,7 @@ def calc_median_heaps(xs): cur_median = min_heap[0] return cur_median + def calc_median_sorting(xs): if not xs: return 0.0 @@ -42,20 +44,24 @@ def calc_median_sorting(xs): else: return xs[len(xs) // 2 - 1] / 2 + xs[len(xs) // 2] / 2 + _ALGORITHMS = [ Algorithm('median_sorting', 'Median value (using explicit sorting)', calc_median_sorting), Algorithm('median_heaps', 'Median value (using heaps)', calc_median_heaps), ] + def _parse_args(args=None): if args is None: args = sys.argv[1:] return list(map(int, args)) + def main(args=None): xs = _parse_args(args) print(calc_median_sorting(list(xs))) print(calc_median_heaps(list(xs))) + if __name__ == '__main__': main() |
