Добавление или добавление тегов HTML к элементу формы Zend

В целях стилизации мне нужно поместить открывающую

в начало одного элемента и закрывающую в конце другого. Просматривая документы для HtmlDecorator, я, кажется, не могу понять, как это сделать правильно, и можно ли использовать этот декоратор. Кажется расточительным создавать собственного декоратора просто для этого. 3 4 5 9 2 6 3 7 и я ищу такой вывод (идентификатор группы и члены этой группы): 1: 1 2 6 2: 3 4 7 3: 5 9 Первая строка, потому что 1 "соединена" с 2 ...

У меня есть некоторые данные, подобные этим:

1 2
3 4
5 9
2 6
3 7

, и я ищу такой вывод (идентификатор группы и члены этой группы):

1: 1 2 6
2: 3 4 7
3: 5 9

Первая строка, поскольку 1 "соединена" с 2, а 2 соединена с 6. Вторая строка, потому что 3 соединена с 4, а 3 соединена с 7

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


Из комментариев:

  • Проблема состоит в том, чтобы найти набор непересекающихся подграфов по набору ребер.
  • Ребра не направлены; строка «1 2» означает, что 1 подключен к 2, а 2 подключен к 1.
  • «1:» в выходных данных примера может быть «A:» без изменения значения ответа.

РЕДАКТИРОВАТЬ 1:

Проблема выглядит решенной. Спасибо всем за помощь. Мне нужна дополнительная помощь в выборе лучшего решения, которое можно использовать для миллиардов таких записей.

РЕДАКТИРОВАТЬ 2:

Тестовый входной файл:

1 27
1 134
1 137
1 161
1 171
1 275
1 309
1 413
1 464
1 627
1 744
2 135
2 398
2 437
2 548
2 594
2 717
2 738
2 783
2 798
2 912
5 74
5 223
7 53
7 65
7 122
7 237
7 314
7 701
7 730
7 755
7 821
7 875
7 884
7 898
7 900
7 930
8 115
9 207
9 305
9 342
9 364
9 493
9 600
9 676
9 830
9 941
10 164
10 283
10 380
10 423
10 468
10 577
11 72
11 132
11 276
11 306
11 401
11 515
11 599
12 95
12 126
12 294
13 64
13 172
13 528
14 396
15 35
15 66
15 210
15 226
15 360
15 588
17 263
17 415
17 474
17 648
17 986
21 543
21 771
22 47
23 70
23 203
23 427
23 590
24 286
24 565
25 175
26 678
27 137
27 161
27 171
27 275
27 309
27 413
27 464
27 627
27 684
27 744
29 787

Контрольные показатели:

Я перепробовал все, и версия, опубликованная TokenMacGuy, является самой быстрой из пробного набора данных, который я пробовал. В наборе данных около 1 миллиона записей, на которые у меня ушло около 6 секунд на машине с двумя четырехъядерными процессорами 2,4 ГГц. У меня еще не было возможности запустить его для всего набора данных, но я опубликую тест, как только он будет доступен.

5
задан Legend 4 October 2010 в 00:05
поделиться