У меня был алгоритм перестановки, который я использовал для эйлера проекта, в python:
def missing(miss,src):
"Returns the list of items in src not present in miss"
return [i for i in src if i not in miss]
def permutation_gen(n,l):
"Generates all the permutations of n items of the l list"
for i in l:
if n<=1: yield [i]
r = [i]
for j in permutation_gen(n-1,missing([i],l)): yield r+j
Если
n<len(l)
вы должны иметь всю комбинацию, которая вам нужна без повторения,
Это генератор, поэтому вы используете его примерно так:
for comb in permutation_gen(3,list("ABCDEFGH")):
print comb
Есть список хороших API Facebook на Java facebook4j . Самый простой - restFB . На их странице есть образец кода, который показывает вам, как использовать restFB.