c исходный код для удаления подмножества транзакций из текстового файла - PullRequest
0 голосов
/ 28 апреля 2010

У меня есть файл, содержащий следующие данные

10 20 30 40 70
20 30 70
30 40 10 20
29 70
80 90 20 30 40
40 45 65 10 20 80
45 65 20

Я хочу удалить все транзакции подмножества из этого файла.

выходной файл должен выглядеть следующим образом

10 20 30 40 70
29 70
80 90 20 30 40
40 45 65 10 20 80

Где такие записи, как

20 30 70
30 40 10 20
45 65 20

удалены из-за подмножества других записей.

1 Ответ

1 голос
/ 28 апреля 2010

алгоритм может быть таким:

sets = list()
f = open("data.txt")

for line in f:
    currentSet = set()
    for item in line.split():
        currentSet.add(int(item))
    printIt = True
    for s in sets:
        if currentSet.issubset(s):
            printIt = False
            break
    if printIt:
        print line,
        sets.append(currentSet)

Кстати, это тоже программа на Python :) Также я считаю, что можно создать алгоритм с большей эффективностью.

Ваш следующий шаг: переписать это на C / C ++. Удачи:)

...