Какой термин для часового, который не обозначает конец последовательности? - PullRequest
0 голосов
/ 25 июня 2019

Согласно Википедии ,

В компьютерном программировании значение дозорного (также называемое значением флага, значением отключения, мошенническим значением, значением сигнала или фиктивными данными) является специальным значением в контексте алгоритма, который использует его присутствие в качестве условия завершения, обычно в цикле или рекурсивном алгоритме.

Типичным примером является использование -1 в конце массива положительных целых чисел для обозначения конца данных, когда массив больше, чем данные, которые его заполняют.

Однако как насчет того, когда мы используем -1 не для обеспечения завершения, а просто как невозможное значение? Например:

# `a` is an array with the numbers from 0 to 4, in random order.
# We will use `b` to track where in `a` each number is. The position in `b`
# denotes the number, and the value denotes the index in `a`.
# `calculate_indices()` is a function that does this.

a = [3, 4, 1, 0, 2]
b = [-1, -1, -1, -1, -1]

calculate_indices(a, b)

print(b) => [3, 2, 4, 0, 1]

Если бы мы инициализировали b как [0, 0, 0, 0, 0], это не сработало бы, поскольку 0 имеет здесь реальное значение - то есть 0-я позиция в a. Поэтому мы используем невозможное значение, -1.

Есть ли название для такого рода использования?

1 Ответ

0 голосов
/ 27 июня 2019

Что касается Carcigenicate, и после некоторых больше исследований , может показаться, что определение Википедии действительно слишком строго, и что это также можно назвать дозорным. Я не могу найти другое имя для этого шаблона.

...