길이가 n 인 k-ary 목걸이는 길이가 k 인 알파벳에서 그려지는 항목의 길이가 n 인 순서 목록입니다. 회전하는 순서를 공유하는 모든 목록의 정렬 식 사전 식 목록입니다.Scheme에서 목걸이를 생성하는 좋은 간단한 알고리즘은 무엇입니까?
예 : (1 2 3) 및 (1 3 2)은 알파벳 {1 2 3}에서 길이 3 인 목걸이입니다.
상세 정보 : http://en.wikipedia.org/wiki/Necklace_(combinatorics)
내가 계획에이를 생성하고 싶습니다(또는 당신의 선택의 리스프). 생성 목걸이
사와다위한 새로운 알고리즘 - - 나는 몇 가지 서류 ...
야만인을 발견했습니다 일정한 상각 시간에 생성 팔찌를
사와다 - 생성 목걸이 금지 하위 문자열
...하지만 그들에 제시된 코드가와 나에게 불투명하다. 주로 알파벳이나 길이 (n)로 전달되지 않는 것 같습니다. 내가 찾고있는 절차는 다음과 같은 형식입니다 (목걸이 n '(a b c ...)).
먼저 k^n 목록을 생성 한 다음 회전을 필터링하여 이들을 쉽게 생성 할 수 있습니다. 하지만 끔찍한 메모리 비효율입니다 ...
감사!
10 개 목걸이 중 2 개만 표시가 간단한 누락인지 또는 목걸이 이외의 것을 원하십니까? –