Сионист » 02 апр 2017, 17:41
Ну для начала количество телефонов известно заранее, или его надо определить динамически? Каков ожидаемый порядок величины количества телефонов? А то кто нибудь напишет пузырьковую сортировку, а потом окажется, что сортировать надо полный телефонный справочник Индокитая (уже более двух миллиардов человек) после его полной телефонизации (соответственно телефонов тоже более шестисот миллионов). А он квадратичный, 600 000 000 в квадрате - это уже 360 000 000 000 000 000. Даже при 300 пикосекунд на один шаг цикла уже будет более трёх тысяч лет, а на шаг тратится заведомо больше одной операции, а значит и такта. И мне не известно о существовании его параллельных версий. Да и не похоже, что его можно параллелить. Есть ли в номерах пробелы, дефисы и прочие разделители? Выделены ли коды (сетей, городов...) скобками? А начинающиеся с плюса коды стран надо поддерживать? Требуется ли хватать файл целиком и потом парсить в номера, или можно парсить построчно, а следующую строку грузить после парсинга предыдущей? Как переводятся строки? Одним управляющим символом или двумя? Каким? Или какими и в каком порядке? Или надо поддерживать несколько вариантов? Перечислите их.
Ну для начала количество телефонов известно заранее, или его надо определить динамически? Каков ожидаемый порядок величины количества телефонов? А то кто нибудь напишет пузырьковую сортировку, а потом окажется, что сортировать надо полный телефонный справочник Индокитая (уже более двух миллиардов человек) после его полной телефонизации (соответственно телефонов тоже более шестисот миллионов). А он квадратичный, 600 000 000 в квадрате - это уже 360 000 000 000 000 000. Даже при 300 пикосекунд на один шаг цикла уже будет более трёх тысяч лет, а на шаг тратится заведомо больше одной операции, а значит и такта. И мне не известно о существовании его параллельных версий. Да и не похоже, что его можно параллелить. Есть ли в номерах пробелы, дефисы и прочие разделители? Выделены ли коды (сетей, городов...) скобками? А начинающиеся с плюса коды стран надо поддерживать? Требуется ли хватать файл целиком и потом парсить в номера, или можно парсить построчно, а следующую строку грузить после парсинга предыдущей? Как переводятся строки? Одним управляющим символом или двумя? Каким? Или какими и в каком порядке? Или надо поддерживать несколько вариантов? Перечислите их.