powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как отсортировать 1 миллиард записей?
25 сообщений из 336, страница 13 из 14
Как отсортировать 1 миллиард записей?
    #40038058
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

Sovpalo - оно зачем вам?
Я вам показал строку - 5_7_15_22_23_27_34_37_39_40

Её у вас нет. Значит ваше решение не верное.

Если будете продолжать претворяться тупым - я перестану с вами разговаривать.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038063
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

ничего себе наглость...
а где совпадение
7-8-15-22-23-27-34-37-39-40 (без 5)
5-8-15-22-23-27-34-37-39-40 (без 7)
5-7-15-22-23-27-34-37-39-40 (без 8)
5-7-8-22-23-27-34-37-39-40 (без 15)
5-7-8-15-23-27-34-37-39-40 .....
5-7-8-15-22-27-34-37-39-40...
5-7-8-15-22-23-34-37-39-40......
5-7-8-15-22-23-27-37-39-40.......
5-7-8-15-22-23-27-34-39-40........
5-7-8-15-22-23-27-34-37-40............


ИХ у вас нет. Значит ваше решение не верное.

уважаемый ТС, кто из нас притворяется тупым на более 10 страницах?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038065
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

Проверил вашу первую строку:

есть:

22267376

всё. разговоры с вами прекращаю. - Только решение в требуемом заказчиком виде.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038071
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Alex_Ustinov,

Проверил вашу первую строку:

есть:

22267376

всё. разговоры с вами прекращаю. - Только решение в требуемом заказчиком виде.
вот у меня
1 22 01.08.1966 22.08.1966 5-7-8-15-22-23-27-34-37-39-40 11

клоунаду пора прекращать в этом форуме. Надо переносить в другой.
Ни одного запроса от ТС не видать.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038090
pahanitto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miltorg,

с такими базами - сваливать с MySQL/ очевидно... она не для таких задач
остальное- жуткое извращение.... ну если так нравиться самообладание...)
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С самого начала надо было описать наиболее полное множество тест-кейсов.

И ожидаемые outputs.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038120
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Нас ждёт вторая серия. - Заказчик сказал, что лучшая проверка - это генерировать всё подряд и проверять на совпадения.

У него правда есть своя идея. - Отгенерированное класть не просто так, и не в базу, а в файлы по первому числу. - Сразу группировать единицы и пр.

Тут... как-то странно. Это изменения к ТЗ? Или здесь заказчик даёт нам ценные указания.
Он - разработчик? Он знает как лучше сделать?

У меня нет сомнений в части уважения к его желаниям. Но что мы в топике будем обсуждать
когда ценное указание нам придёт снова?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038122
Dino_zavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miltorg
Alex_Ustinov,

Проверил вашу первую строку:

есть:

22267376

всё. разговоры с вами прекращаю. - Только решение в требуемом заказчиком виде.


а где совпадения ??
Код: plsql
1.
2.
1.08.1966     7 8 15 22 23 27 34 37 39 44
21.08.1966    7 8 15 22 23 27 34 37 39 44
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038132
Dino_zavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или
Код: plsql
1.
2.
1.08.1966    8 15 22 23 27 34 37 39 40 44
21.08.1966   8 15 22 23 27 34 37 39 40 44



и так далее
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038133
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dino_zavr,

Приводите к требованиям заказчика ваш вопрос - и тогда сразу станет понятен ответ.

Намекну - это таблица - выборка максимальных совпадений. А максимальное там - 3 совпадения.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038134
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У него в самой первой странице было

Код: sql
1.
2.
7.12.2017 3_8_9_11_16_28_30_31_35_37
5.12.2019 3_8_9_11_16_28_30_31_35_37



Хромосома - одинаковая. Даты - разные. Группируем.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038140
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
У него в самой первой странице было

Код: sql
1.
2.
7.12.2017 3_8_9_11_16_28_30_31_35_37
5.12.2019 3_8_9_11_16_28_30_31_35_37



Хромосома - одинаковая. Даты - разные. Группируем.
кто будет в чужом нижнем белье копаться.
В данном форуме по MySQL.
Дано и так далее с Create table и Insert Into

что было бы с топиком в форуе с++ если пойти туда и начать строчить SQL выкладки?

самый главный вопрос так и не решен - как строить комбинаторику? В MySQL? (далее все очевидно)
Где у ТС SQL скрипты для воспроизведения?)))
mayton, почему ЭТО здесь?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038148
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov
mayton
У него в самой первой странице было

Код: sql
1.
2.
7.12.2017 3_8_9_11_16_28_30_31_35_37
5.12.2019 3_8_9_11_16_28_30_31_35_37



Хромосома - одинаковая. Даты - разные. Группируем.
кто будет в чужом нижнем белье копаться.
В данном форуме по MySQL.
Дано и так далее с Create table и Insert Into

что было бы с топиком в форуе с++ если пойти туда и начать строчить SQL выкладки?

самый главный вопрос так и не решен - как строить комбинаторику? В MySQL? (далее все очевидно)
Где у ТС SQL скрипты для воспроизведения?)))
mayton, почему ЭТО здесь?

Этому топику - место в Программировании. Ну по крайней мере здесь темы MySQL как таковой нету.
Здесь вообще - не про базы данных. Базовикам - здесь не интересно. Здесь нечего смотреть.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038149
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

ты же один их модераторов?...)
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038151
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038153
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov
Где у ТС SQL скрипты для воспроизведения?)))
без этого не интересно
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038154
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что нет?
Имя mayton
Статус Зарегистрированный участник

Модератор форума C++
Модератор форума Сравнение СУБД

---
я же не сказал что модератор этого форума
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038155
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov, я - не модератор MySQL.

А непрофильные не могут переносить топики.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038172
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Результат.
5 7 8 15 22 23 27 34 37 391.08.196621.08.19661244 7 8 15 22 23 27 34 37 391.08.196621.08.19661244 40 8 15 22 23 27 34 37 391.08.196621.08.19661244 7 40 15 22 23 27 34 37 391.08.196621.08.19661244 7 8 40 22 23 27 34 37 391.08.196621.08.19661244 7 8 15 40 23 27 34 37 391.08.196621.08.19661244 7 8 15 22 40 27 34 37 391.08.196621.08.19661244 7 8 15 22 23 40 34 37 391.08.196621.08.19661244 7 8 15 22 23 27 40 37 391.08.196621.08.19661244 7 8 15 22 23 27 34 40 391.08.196621.08.19661244 7 8 15 22 23 27 34 37 401.08.196621.08.1966125 44 8 15 22 23 27 34 37 391.08.196621.08.1966125 44 40 15 22 23 27 34 37 391.08.196621.08.1966125 44 8 40 22 23 27 34 37 391.08.196621.08.1966125 44 8 15 40 23 27 34 37 391.08.196621.08.1966125 44 8 15 22 40 27 34 37 391.08.196621.08.1966125 44 8 15 22 23 40 34 37 391.08.196621.08.1966125 44 8 15 22 23 27 40 37 391.08.196621.08.1966125 44 8 15 22 23 27 34 40 391.08.196621.08.1966125 44 8 15 22 23 27 34 37 401.08.196621.08.1966125 7 44 15 22 23 27 34 37 391.08.196621.08.1966125 7 44 40 22 23 27 34 37 391.08.196621.08.1966125 7 44 15 40 23 27 34 37 391.08.196621.08.1966125 7 44 15 22 40 27 34 37 391.08.196621.08.1966125 7 44 15 22 23 40 34 37 391.08.196621.08.1966125 7 44 15 22 23 27 40 37 391.08.196621.08.1966125 7 44 15 22 23 27 34 40 391.08.196621.08.1966125 7 44 15 22 23 27 34 37 401.08.196621.08.1966125 7 8 44 22 23 27 34 37 391.08.196621.08.1966125 7 8 44 40 23 27 34 37 391.08.196621.08.1966125 7 8 44 22 40 27 34 37 391.08.196621.08.1966125 7 8 44 22 23 40 34 37 391.08.196621.08.1966125 7 8 44 22 23 27 40 37 391.08.196621.08.1966125 7 8 44 22 23 27 34 40 391.08.196621.08.1966125 7 8 44 22 23 27 34 37 401.08.196621.08.1966125 7 8 15 44 23 27 34 37 391.08.196621.08.1966125 7 8 15 44 40 27 34 37 391.08.196621.08.1966125 7 8 15 44 23 40 34 37 391.08.196621.08.1966125 7 8 15 44 23 27 40 37 391.08.196621.08.1966125 7 8 15 44 23 27 34 40 391.08.196621.08.1966125 7 8 15 44 23 27 34 37 401.08.196621.08.1966125 7 8 15 22 44 27 34 37 391.08.196621.08.1966125 7 8 15 22 44 40 34 37 391.08.196621.08.1966125 7 8 15 22 44 27 40 37 391.08.196621.08.1966125 7 8 15 22 44 27 34 40 391.08.196621.08.1966125 7 8 15 22 44 27 34 37 401.08.196621.08.1966125 7 8 15 22 23 44 34 37 391.08.196621.08.1966125 7 8 15 22 23 44 40 37 391.08.196621.08.1966125 7 8 15 22 23 44 34 40 391.08.196621.08.1966125 7 8 15 22 23 44 34 37 401.08.196621.08.1966125 7 8 15 22 23 27 44 37 391.08.196621.08.1966125 7 8 15 22 23 27 44 40 391.08.196621.08.1966125 7 8 15 22 23 27 44 37 401.08.196621.08.1966125 7 8 15 22 23 27 34 44 391.08.196621.08.1966125 7 8 15 22 23 27 34 44 401.08.196621.08.1966125 7 8 15 22 23 27 34 37 441.08.196621.08.1966125 7 8 15 22 23 27 34 37 391.08.196622.08.19661140 7 8 15 22 23 27 34 37 391.08.196622.08.1966115 40 8 15 22 23 27 34 37 391.08.196622.08.1966115 7 40 15 22 23 27 34 37 391.08.196622.08.1966115 7 8 40 22 23 27 34 37 391.08.196622.08.1966115 7 8 15 40 23 27 34 37 391.08.196622.08.1966115 7 8 15 22 40 27 34 37 391.08.196622.08.1966115 7 8 15 22 23 40 34 37 391.08.196622.08.1966115 7 8 15 22 23 27 40 37 391.08.196622.08.1966115 7 8 15 22 23 27 34 40 391.08.196622.08.1966115 7 8 15 22 23 27 34 37 401.08.196622.08.1966112 12 21 28 36 50 53 55 59 663.08.19665.08.1966103 5 24 26 28 50 53 55 59 663.08.196614.08.1966102 3 5 15 23 28 37 38 50 533.08.196616.08.19661159 3 5 15 23 28 37 38 50 533.08.196616.08.1966112 59 5 15 23 28 37 38 50 533.08.196616.08.1966112 3 59 15 23 28 37 38 50 533.08.196616.08.1966112 3 5 59 23 28 37 38 50 533.08.196616.08.1966112 3 5 15 59 28 37 38 50 533.08.196616.08.1966112 3 5 15 23 59 37 38 50 533.08.196616.08.1966112 3 5 15 23 28 59 38 50 533.08.196616.08.1966112 3 5 15 23 28 37 59 50 533.08.196616.08.1966112 3 5 15 23 28 37 38 59 533.08.196616.08.1966112 3 5 15 23 28 37 38 50 593.08.196616.08.19661111 15 16 29 32 35 42 43 62 636.08.196618.08.1966107 8 21 27 30 49 50 53 54 687.08.19669.08.1966105 7 23 27 34 45 46 47 52 6410.08.196621.08.19661023 27 40 44 45 46 47 52 64 6612.08.196621.08.1966101 5 11 16 20 22 25 26 47 5613.08.196617.08.19661170 5 11 16 20 22 25 26 47 5613.08.196617.08.1966111 70 11 16 20 22 25 26 47 5613.08.196617.08.1966111 5 70 16 20 22 25 26 47 5613.08.196617.08.1966111 5 11 70 20 22 25 26 47 5613.08.196617.08.1966111 5 11 16 70 22 25 26 47 5613.08.196617.08.1966111 5 11 16 20 70 25 26 47 5613.08.196617.08.1966111 5 11 16 20 22 70 26 47 5613.08.196617.08.1966111 5 11 16 20 22 25 70 47 5613.08.196617.08.1966111 5 11 16 20 22 25 26 70 5613.08.196617.08.1966111 5 11 16 20 22 25 26 47 7013.08.196617.08.1966118 15 17 26 35 37 42 44 50 6919.08.196620.08.1966105 7 8 15 22 23 27 34 37 3921.08.196622.08.19661140 7 8 15 22 23 27 34 37 3921.08.196622.08.1966115 40 8 15 22 23 27 34 37 3921.08.196622.08.1966115 7 40 15 22 23 27 34 37 3921.08.196622.08.1966115 7 8 40 22 23 27 34 37 3921.08.196622.08.1966115 7 8 15 40 23 27 34 37 3921.08.196622.08.1966115 7 8 15 22 40 27 34 37 3921.08.196622.08.1966115 7 8 15 22 23 40 34 37 3921.08.196622.08.1966115 7 8 15 22 23 27 40 37 3921.08.196622.08.1966115 7 8 15 22 23 27 34 40 3921.08.196622.08.1966115 7 8 15 22 23 27 34 37 4021.08.196622.08.196611


Код

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
var src = `1.08.1966	5 7 8 15 22 23 27 34 37 39 40 41 43 44 50 55 57 58 62 70
2.08.1966	3 5 9 12 15 16 19 20 23 25 29 30 34 37 43 48 55 58 59 61
3.08.1966	2 3 5 12 15 21 23 24 26 28 36 37 38 39 50 53 55 59 66 68
4.08.1966	2 3 5 7 8 11 14 16 19 25 35 43 50 51 55 60 61 66 67 70
5.08.1966	2 8 11 12 14 17 18 20 21 28 36 43 50 53 55 56 59 62 64 66
6.08.1966	2 5 10 11 15 16 18 19 27 29 30 32 33 35 42 43 45 62 63 65
7.08.1966	5 6 7 8 16 21 27 30 39 46 49 50 51 53 54 58 62 64 68 70
8.08.1966	1 2 3 7 9 11 12 13 15 17 20 24 26 28 34 45 48 49 61 66
9.08.1966	7 8 12 13 14 21 23 24 27 28 30 38 40 49 50 52 53 54 63 68
10.08.1966	1 3 5 7 9 10 14 21 23 27 31 34 45 46 47 48 51 52 64 65
11.08.1966	1 5 6 7 9 11 14 17 29 30 33 36 37 39 42 43 48 50 64 65
12.08.1966	2 9 11 12 13 17 18 23 25 27 33 38 40 44 45 46 47 52 64 66
13.08.1966	1 5 6 11 14 16 17 20 22 23 25 26 31 41 44 47 56 59 64 70
14.08.1966	3 5 9 19 24 25 26 27 28 33 34 40 45 50 53 55 59 63 64 66
15.08.1966	3 6 8 11 13 19 23 25 28 32 33 34 37 41 50 54 56 57 59 65
16.08.1966	2 3 5 7 15 23 28 29 32 37 38 46 49 50 52 53 59 60 61 62
17.08.1966	1 5 7 9 11 16 18 20 22 25 26 35 45 46 47 51 56 67 68 70
18.08.1966	11 15 16 22 25 28 29 32 34 35 42 43 47 49 52 53 54 57 62 63
19.08.1966	8 9 15 17 26 30 31 35 37 38 41 42 44 50 52 58 60 64 66 69
20.08.1966	4 6 8 15 16 17 18 24 26 33 34 35 36 37 42 44 50 54 65 69
21.08.1966	5 7 8 15 22 23 27 34 37 39 40 42 44 45 46 47 52 64 66 69
22.08.1966	5 7 8 15 22 23 27 34 37 39 40 71 72 73 74 75 76 77 78 79`

var bitCount = function(n) { //со стак оверфлоу
  n = n - ((n >> 1) & 0x55555555)
  n = (n & 0x33333333) + ((n >> 2) & 0x33333333)
  return ((n + (n >> 4) & 0xF0F0F0F) * 0x1010101) >> 24
}

var BITS = 32;
var numToBit = [0] //место цифры в битсете
for (let i = 0; i < BITS; i++) numToBit[i + 1] = 1 << i;

var data = src.split("\n").map(v=>{ //парсим исходные
    var [date, digs] = v.split("\t");
    digs = digs.split(" ").map(v=>+v); //кастим строки в числа
    var bits = [0, 0, 0, 0, 0, 0, 0, 0]; //По 4 байта на число, 32 цифры в числе. Их 8, шоб всем хватило 
    //(хватает и 3-х, самая большая цифра - 256. Надо больше, сделай больше)
    digs.forEach(v=>{
        var shift = Math.floor((v - 1) / BITS); //элемент массива bits
        bits[shift] = bits[shift] | numToBit[v - shift * BITS] //"Сдвигаем" число
    });
    return {date, digs, bits}
});

var res = [];

for (let i = 0; i < data.length - 1; i++) {
    for (let j = i + 1; j < data.length; j++) { //перебор всех со всеми
        var v1 = data[i], v2 = data[j];
        var hits = 0;
        var join = [];
        for (let b = 0; b < 8; b++) {
            var cross = v1.bits[b] & v2.bits[b];
            numToBit.forEach((v,dig)=>{
                if (v & cross) join.push(dig + b * BITS);
            });
            //hits += bitCount(cross); //считаем совпавшие биты (цифры)
        }
        if (join.length >= 10) {
            res.push({set1 : v1, set2 : v2, join, hits : join.length}); // заполняем массив нужным
        }
    }
}

//Комбинаторный итератор
var iterator = function(size, digs = 9) {
    var pos = []
    var inc = function() {
        if (this.n <= 0 && this.next) {
            this.n = this.next.n + 1;
        } else {
            this.n++;
        }
        if (this.n > digs) {
            if (!this.next) return this.n = null;
            var nInc = this.next.inc();
            if (nInc) {
                this.n = -1;
            } else {
                return this.n = null;
            }
            if (this.n > digs) this.inc(); 
        }
        return this.n;
    }
    for (let i = 0; i < size; i++) pos[i] = {n : 0, inc};
    for (let i = 0; i < size; i++) {
        var rec = pos[i];
        if (i == 0) rec.first = true;
        if (i == size - 1) rec.last = true;
        if (!(rec.fisrt && rec.last)) {
            if (!rec.last) rec.next = pos[i+1];
            if (!rec.first) rec.prev = pos[i-1]
        }
    }
    return { 
        first : pos[0], 
        get : (n)=>pos[n].n,
        inc : ()=>pos[0].inc(),
        map : ()=>pos.map(v=>v.n),
        pos
    }
}

//Комбинитрует массив размером > 10
var combine = function(arr) {
    var c = arr.length
    if (c < 10) return false;
    if (c == 10) return [arr];
    var n = c - 10;
    var base = arr.slice(0,10);
    var ext = arr.slice(10);
    var it = iterator(n);
    var ret = [base];
    do {
        var rec = [...base];
        it.map().forEach((v,i)=>{if (v >= 0) rec[v] = ext[i]});
        ret.push(rec);
    } while (it.inc() != null);
    return ret; 
}


//Выхлоп
var out = []

res.forEach(v=>{
    out.push(...combine(v.join).map(j=>[j.join(" "), v.set1.date, v.set2.date, v.hits].join(",")));
});

fs.writeFileSync("out.txt", out.join("\n"))




Проверяй. Завтра сделаю генератор и мы продолжим.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038178
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

fix итератора:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
var iterator = function(size, digs = 9) {
    var pos = []
    var inc = function() {
        if (this.n <= 0 && this.next && this.next.n > 0) {
            this.n = this.next.n + 1;
        } else {
            this.n++;
        }
        if (this.next && this.n == this.next.n) return this.inc()
        if (this.n > digs) {
            if (!this.next) return this.n = null;
            var nInc = this.next.inc();
            if (nInc != null) {
                this.n = -1;
            } else {
                return this.n = null;
            }
            if (this.n > digs) this.inc(); 
        }
        return this.n;
    }
    for (let i = 0; i < size; i++) pos[i] = {n : -1, inc};
    for (let i = 0; i < size; i++) {
        var rec = pos[i];
        if (i == 0) rec.first = true;
        if (i == size - 1) rec.last = true;
        if (!(rec.fisrt && rec.last)) {
            if (!rec.last) rec.next = pos[i+1];
            if (!rec.first) rec.prev = pos[i-1]
        }
    }
    return { 
        first : pos[0], 
        get : (n)=>pos[n].n,
        inc : ()=>pos[0].inc(),
        map : ()=>pos.map(v=>v.n),
        pos
    }
}



Актуальные.

5 7 8 15 22 23 27 34 37 391.08.196621.08.1966125 7 8 15 22 23 27 34 37 391.08.196621.08.19661240 7 8 15 22 23 27 34 37 391.08.196621.08.1966125 40 8 15 22 23 27 34 37 391.08.196621.08.1966125 7 40 15 22 23 27 34 37 391.08.196621.08.1966125 7 8 40 22 23 27 34 37 391.08.196621.08.1966125 7 8 15 40 23 27 34 37 391.08.196621.08.1966125 7 8 15 22 40 27 34 37 391.08.196621.08.1966125 7 8 15 22 23 40 34 37 391.08.196621.08.1966125 7 8 15 22 23 27 40 37 391.08.196621.08.1966125 7 8 15 22 23 27 34 40 391.08.196621.08.1966125 7 8 15 22 23 27 34 37 401.08.196621.08.19661244 7 8 15 22 23 27 34 37 391.08.196621.08.19661244 40 8 15 22 23 27 34 37 391.08.196621.08.19661244 7 40 15 22 23 27 34 37 391.08.196621.08.19661244 7 8 40 22 23 27 34 37 391.08.196621.08.19661244 7 8 15 40 23 27 34 37 391.08.196621.08.19661244 7 8 15 22 40 27 34 37 391.08.196621.08.19661244 7 8 15 22 23 40 34 37 391.08.196621.08.19661244 7 8 15 22 23 27 40 37 391.08.196621.08.19661244 7 8 15 22 23 27 34 40 391.08.196621.08.19661244 7 8 15 22 23 27 34 37 401.08.196621.08.1966125 44 8 15 22 23 27 34 37 391.08.196621.08.1966125 44 40 15 22 23 27 34 37 391.08.196621.08.1966125 44 8 40 22 23 27 34 37 391.08.196621.08.1966125 44 8 15 40 23 27 34 37 391.08.196621.08.1966125 44 8 15 22 40 27 34 37 391.08.196621.08.1966125 44 8 15 22 23 40 34 37 391.08.196621.08.1966125 44 8 15 22 23 27 40 37 391.08.196621.08.1966125 44 8 15 22 23 27 34 40 391.08.196621.08.1966125 44 8 15 22 23 27 34 37 401.08.196621.08.1966125 7 44 15 22 23 27 34 37 391.08.196621.08.1966125 7 44 40 22 23 27 34 37 391.08.196621.08.1966125 7 44 15 40 23 27 34 37 391.08.196621.08.1966125 7 44 15 22 40 27 34 37 391.08.196621.08.1966125 7 44 15 22 23 40 34 37 391.08.196621.08.1966125 7 44 15 22 23 27 40 37 391.08.196621.08.1966125 7 44 15 22 23 27 34 40 391.08.196621.08.1966125 7 44 15 22 23 27 34 37 401.08.196621.08.1966125 7 8 44 22 23 27 34 37 391.08.196621.08.1966125 7 8 44 40 23 27 34 37 391.08.196621.08.1966125 7 8 44 22 40 27 34 37 391.08.196621.08.1966125 7 8 44 22 23 40 34 37 391.08.196621.08.1966125 7 8 44 22 23 27 40 37 391.08.196621.08.1966125 7 8 44 22 23 27 34 40 391.08.196621.08.1966125 7 8 44 22 23 27 34 37 401.08.196621.08.1966125 7 8 15 44 23 27 34 37 391.08.196621.08.1966125 7 8 15 44 40 27 34 37 391.08.196621.08.1966125 7 8 15 44 23 40 34 37 391.08.196621.08.1966125 7 8 15 44 23 27 40 37 391.08.196621.08.1966125 7 8 15 44 23 27 34 40 391.08.196621.08.1966125 7 8 15 44 23 27 34 37 401.08.196621.08.1966125 7 8 15 22 44 27 34 37 391.08.196621.08.1966125 7 8 15 22 44 40 34 37 391.08.196621.08.1966125 7 8 15 22 44 27 40 37 391.08.196621.08.1966125 7 8 15 22 44 27 34 40 391.08.196621.08.1966125 7 8 15 22 44 27 34 37 401.08.196621.08.1966125 7 8 15 22 23 44 34 37 391.08.196621.08.1966125 7 8 15 22 23 44 40 37 391.08.196621.08.1966125 7 8 15 22 23 44 34 40 391.08.196621.08.1966125 7 8 15 22 23 44 34 37 401.08.196621.08.1966125 7 8 15 22 23 27 44 37 391.08.196621.08.1966125 7 8 15 22 23 27 44 40 391.08.196621.08.1966125 7 8 15 22 23 27 44 37 401.08.196621.08.1966125 7 8 15 22 23 27 34 44 391.08.196621.08.1966125 7 8 15 22 23 27 34 44 401.08.196621.08.1966125 7 8 15 22 23 27 34 37 441.08.196621.08.1966125 7 8 15 22 23 27 34 37 391.08.196622.08.1966115 7 8 15 22 23 27 34 37 391.08.196622.08.19661140 7 8 15 22 23 27 34 37 391.08.196622.08.1966115 40 8 15 22 23 27 34 37 391.08.196622.08.1966115 7 40 15 22 23 27 34 37 391.08.196622.08.1966115 7 8 40 22 23 27 34 37 391.08.196622.08.1966115 7 8 15 40 23 27 34 37 391.08.196622.08.1966115 7 8 15 22 40 27 34 37 391.08.196622.08.1966115 7 8 15 22 23 40 34 37 391.08.196622.08.1966115 7 8 15 22 23 27 40 37 391.08.196622.08.1966115 7 8 15 22 23 27 34 40 391.08.196622.08.1966115 7 8 15 22 23 27 34 37 401.08.196622.08.1966112 12 21 28 36 50 53 55 59 663.08.19665.08.1966103 5 24 26 28 50 53 55 59 663.08.196614.08.1966102 3 5 15 23 28 37 38 50 533.08.196616.08.1966112 3 5 15 23 28 37 38 50 533.08.196616.08.19661159 3 5 15 23 28 37 38 50 533.08.196616.08.1966112 59 5 15 23 28 37 38 50 533.08.196616.08.1966112 3 59 15 23 28 37 38 50 533.08.196616.08.1966112 3 5 59 23 28 37 38 50 533.08.196616.08.1966112 3 5 15 59 28 37 38 50 533.08.196616.08.1966112 3 5 15 23 59 37 38 50 533.08.196616.08.1966112 3 5 15 23 28 59 38 50 533.08.196616.08.1966112 3 5 15 23 28 37 59 50 533.08.196616.08.1966112 3 5 15 23 28 37 38 59 533.08.196616.08.1966112 3 5 15 23 28 37 38 50 593.08.196616.08.19661111 15 16 29 32 35 42 43 62 636.08.196618.08.1966107 8 21 27 30 49 50 53 54 687.08.19669.08.1966105 7 23 27 34 45 46 47 52 6410.08.196621.08.19661023 27 40 44 45 46 47 52 64 6612.08.196621.08.1966101 5 11 16 20 22 25 26 47 5613.08.196617.08.1966111 5 11 16 20 22 25 26 47 5613.08.196617.08.19661170 5 11 16 20 22 25 26 47 5613.08.196617.08.1966111 70 11 16 20 22 25 26 47 5613.08.196617.08.1966111 5 70 16 20 22 25 26 47 5613.08.196617.08.1966111 5 11 70 20 22 25 26 47 5613.08.196617.08.1966111 5 11 16 70 22 25 26 47 5613.08.196617.08.1966111 5 11 16 20 70 25 26 47 5613.08.196617.08.1966111 5 11 16 20 22 70 26 47 5613.08.196617.08.1966111 5 11 16 20 22 25 70 47 5613.08.196617.08.1966111 5 11 16 20 22 25 26 70 5613.08.196617.08.1966111 5 11 16 20 22 25 26 47 7013.08.196617.08.1966118 15 17 26 35 37 42 44 50 6919.08.196620.08.1966105 7 8 15 22 23 27 34 37 3921.08.196622.08.1966115 7 8 15 22 23 27 34 37 3921.08.196622.08.19661140 7 8 15 22 23 27 34 37 3921.08.196622.08.1966115 40 8 15 22 23 27 34 37 3921.08.196622.08.1966115 7 40 15 22 23 27 34 37 3921.08.196622.08.1966115 7 8 40 22 23 27 34 37 3921.08.196622.08.1966115 7 8 15 40 23 27 34 37 3921.08.196622.08.1966115 7 8 15 22 40 27 34 37 3921.08.196622.08.1966115 7 8 15 22 23 40 34 37 3921.08.196622.08.1966115 7 8 15 22 23 27 40 37 3921.08.196622.08.1966115 7 8 15 22 23 27 34 40 3921.08.196622.08.1966115 7 8 15 22 23 27 34 37 4021.08.196622.08.196611
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038182
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с вас фигею господа. Вам реально больше не чем заняться? Может Вы тогда и нам на фирму пару запросов пооптимизируете, а то отчетик как-то долго готовиться начал .. минут 10.
:)

Ладно, я понимаю ещё помочь, подсказать челу. Особенно с интересной задачей, поправить ЕГО решение, показать КУДА стоит смотреть .. а тут? Какие в жопу "совпадения" и "заказчик хочет только так и не иначе"? Хочет - пусть платит.
Не, я ТАК ни умею.. даже уже интересно чем тут кончится: найдется желающий заплатить ТС-у за ЕГО решение? :D
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038187
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109,

Ахаха)
тихо..... )))
(это анализ английской лотереи "10 из 20" начиная с 1966 года)

ё-заказчик!Приводите к требованиям заказчика ваш вопрос - и тогда сразу станет понятен ответ.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038188
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

Я один не увидел количества совпадений?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038190
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте отдельным топиком поднимем генерацию k-permutations-of-n.

Это не будет тематически связано с задачками Милторга. Это - другая постановка
где мы просто поищем быстрые алгоритмы генерации. На С++, Golang и прочих
быстрых компилируемых языках.

С бенчмарками и исходниками в качестве доказательства авторства.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038196
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ну а почему бы вам не решить полностью мою задачу? Для всех 5 тысяч строк из текстового файла, vx.txt - это вход
А на выходе - строки с максимальным числом совпадений.

Вы ведь говорите что это чрезвычайно просто. И не ресурсоёмко. И БД не нужно.
...
Рейтинг: 0 / 0
25 сообщений из 336, страница 13 из 14
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как отсортировать 1 миллиард записей?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]