diff options
| author | Egor Tensin <egor@tensin.name> | 2026-06-18 16:38:25 +0200 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-06-18 16:38:25 +0200 |
| commit | b9043f0f204b6bd4526a283ad2217736fb96d8a1 (patch) | |
| tree | fb2e0a96118327627319d915d8367b8d5a017aae /algorithms/scripts | |
| parent | plot_all.sh: try to get rid of matplotlib fix (diff) | |
| download | sorting-algorithms-b9043f0f204b6bd4526a283ad2217736fb96d8a1.tar.gz sorting-algorithms-b9043f0f204b6bd4526a283ad2217736fb96d8a1.zip | |
workflows/ci: add Black formatting job
Diffstat (limited to 'algorithms/scripts')
| -rwxr-xr-x | algorithms/scripts/plot.py | 91 | ||||
| -rwxr-xr-x | algorithms/scripts/test.py | 45 |
2 files changed, 86 insertions, 50 deletions
diff --git a/algorithms/scripts/plot.py b/algorithms/scripts/plot.py index bb441e1..5eb8b16 100755 --- a/algorithms/scripts/plot.py +++ b/algorithms/scripts/plot.py @@ -12,25 +12,27 @@ from ..input_kind import InputKind from ..params import AlgorithmParameters from .. import registry - _DEFAULT_ITERATIONS = 100 _DEFAULT_INPUT_KIND = InputKind.AVERAGE _DEFAULT_MIN_LENGTH = 0 _DEFAULT_MAX_LENGTH = 200 -def plot_algorithm(algorithm, input_kind=_DEFAULT_INPUT_KIND, - min_len=_DEFAULT_MIN_LENGTH, - max_len=_DEFAULT_MAX_LENGTH, - iterations=_DEFAULT_ITERATIONS, - output_path=None): +def plot_algorithm( + algorithm, + input_kind=_DEFAULT_INPUT_KIND, + min_len=_DEFAULT_MIN_LENGTH, + max_len=_DEFAULT_MAX_LENGTH, + iterations=_DEFAULT_ITERATIONS, + output_path=None, +): if isinstance(algorithm, str): algorithm = registry.get(algorithm) - params = AlgorithmParameters(algorithm, min_len, max_len, - input_kind=input_kind, - iterations=iterations) + params = AlgorithmParameters( + algorithm, min_len, max_len, input_kind=input_kind, iterations=iterations + ) params.plot_running_time(output_path) @@ -67,8 +69,7 @@ def _format_algorithm(codename): def _format_available_algorithms(): descr = 'available algorithms (in the CODENAME: DISPLAY_NAME format):\n' - return descr + '\n'.join(map( - _format_algorithm, sorted(registry.get_codenames()))) + return descr + '\n'.join(map(_format_algorithm, sorted(registry.get_codenames()))) def _format_description(): @@ -78,7 +79,8 @@ def _format_description(): def _create_argument_parser(): return argparse.ArgumentParser( description=_format_description(), - formatter_class=argparse.RawDescriptionHelpFormatter) + formatter_class=argparse.RawDescriptionHelpFormatter, + ) def _parse_args(args=None): @@ -86,27 +88,50 @@ def _parse_args(args=None): args = sys.argv[1:] parser = _create_argument_parser() - parser.add_argument('algorithm', metavar='CODENAME', - choices=registry.get_codenames(), - help='algorithm codename') - parser.add_argument('--iterations', '-r', metavar='N', - type=_parse_positive_integer, - default=_DEFAULT_ITERATIONS, - help='set number of algorithm iterations') - parser.add_argument('--input', '-i', dest='input_kind', - choices=InputKind, - type=_parse_input_kind, default=_DEFAULT_INPUT_KIND, - help='specify input kind') - parser.add_argument('--min', '-a', metavar='N', dest='min_len', - type=_parse_non_negative_integer, - default=_DEFAULT_MIN_LENGTH, - help='set min input length') - parser.add_argument('--max', '-b', metavar='N', dest='max_len', - type=_parse_non_negative_integer, - default=_DEFAULT_MAX_LENGTH, - help='set max input length') - parser.add_argument('--output', '-o', metavar='PATH', dest='output_path', - help='set plot file path') + parser.add_argument( + 'algorithm', + metavar='CODENAME', + choices=registry.get_codenames(), + help='algorithm codename', + ) + parser.add_argument( + '--iterations', + '-r', + metavar='N', + type=_parse_positive_integer, + default=_DEFAULT_ITERATIONS, + help='set number of algorithm iterations', + ) + parser.add_argument( + '--input', + '-i', + dest='input_kind', + choices=InputKind, + type=_parse_input_kind, + default=_DEFAULT_INPUT_KIND, + help='specify input kind', + ) + parser.add_argument( + '--min', + '-a', + metavar='N', + dest='min_len', + type=_parse_non_negative_integer, + default=_DEFAULT_MIN_LENGTH, + help='set min input length', + ) + parser.add_argument( + '--max', + '-b', + metavar='N', + dest='max_len', + type=_parse_non_negative_integer, + default=_DEFAULT_MAX_LENGTH, + help='set max input length', + ) + parser.add_argument( + '--output', '-o', metavar='PATH', dest='output_path', help='set plot file path' + ) return parser.parse_args(args) diff --git a/algorithms/scripts/test.py b/algorithms/scripts/test.py index ba7bf0a..42b1be8 100755 --- a/algorithms/scripts/test.py +++ b/algorithms/scripts/test.py @@ -10,8 +10,7 @@ import argparse import sys from ..input_kind import InputKind -import ..registry as registry - +from .. import registry _DEFAULT_INPUT_KIND = InputKind.AVERAGE _DEFAULT_LENGTH = 100 @@ -50,8 +49,7 @@ def _format_algorithm(codename): def _format_available_algorithms(): descr = 'available algorithms (in the CODENAME: DISPLAY_NAME format):\n' - return descr + '\n'.join(map( - _format_algorithm, sorted(registry.get_codenames()))) + return descr + '\n'.join(map(_format_algorithm, sorted(registry.get_codenames()))) def _format_description(): @@ -61,7 +59,8 @@ def _format_description(): def _create_argument_parser(): return argparse.ArgumentParser( description=_format_description(), - formatter_class=argparse.RawDescriptionHelpFormatter) + formatter_class=argparse.RawDescriptionHelpFormatter, + ) def _parse_args(args=None): @@ -69,18 +68,30 @@ def _parse_args(args=None): args = sys.argv[1:] parser = _create_argument_parser() - parser.add_argument('algorithm', metavar='CODENAME', - choices=registry.get_codenames(), - help='algorithm codename') - parser.add_argument('--input', '-i', dest='input_kind', - choices=InputKind, - type=_parse_input_kind, - default=_DEFAULT_INPUT_KIND, - help='specify input kind') - parser.add_argument('--length', '-l', '-n', metavar='N', - type=_parse_non_negative_integer, - default=_DEFAULT_LENGTH, - help='set input length') + parser.add_argument( + 'algorithm', + metavar='CODENAME', + choices=registry.get_codenames(), + help='algorithm codename', + ) + parser.add_argument( + '--input', + '-i', + dest='input_kind', + choices=InputKind, + type=_parse_input_kind, + default=_DEFAULT_INPUT_KIND, + help='specify input kind', + ) + parser.add_argument( + '--length', + '-l', + '-n', + metavar='N', + type=_parse_non_negative_integer, + default=_DEFAULT_LENGTH, + help='set input length', + ) return parser.parse_args(args) |
