iterpc: Efficient Iterator for Permutations and Combinations

Share:

A collection of iterators for generating permutations and combinations with or without replacement; with distinct items or non-distinct items (multiset). The generated sequences are in lexicographical order (dictionary order). The algorithms to generate permutations and combinations are memory efficient. These iterative algorithms enable users to process all sequences without putting all results in the memory at the same time. The algorithms are written in C/C++ for faster performances.

Author
Randy Lai [aut, cre], Martin Broadhurst [aut]
Date of publication
2016-05-31 07:49:57
Maintainer
Randy Lai <randy.cs.lai@gmail.com>
License
GPL-2
Version
0.3.0
URLs

View on CRAN

Man pages

getall
Get all permutations/combinations for a iterator
getcurrent
Get the current element of a iterator
getlength
Get the length for a iterator
getnext
Get the next permutation(s)/combination(s) for a iterator
iterpc
Iterator for Permutations and Combinations
iter_wrapper
Wrap iterpc objects by iterators::iter
multichoose
Calculate multinomial coefficient
nc_multiset
Calculate the number of r-combinations of a multiset
np_multiset
Calculate the number of r-permutations of a multiset

Files in this package

iterpc
iterpc/tests
iterpc/tests/testthat.R
iterpc/tests/testthat
iterpc/tests/testthat/test-combination.R
iterpc/tests/testthat/test-permutation.R
iterpc/src
iterpc/src/Makevars
iterpc/src/combination.cpp
iterpc/src/mbcomb
iterpc/src/mbcomb/Makefile
iterpc/src/mbcomb/Examples
iterpc/src/mbcomb/Examples/combinations.c
iterpc/src/mbcomb/Examples/multiset-combinations-elements.c
iterpc/src/mbcomb/Examples/multiset-subsets.c
iterpc/src/mbcomb/Examples/subsets.c
iterpc/src/mbcomb/Examples/subset-subsets.c
iterpc/src/mbcomb/Examples/multiset-subsets-elements.c
iterpc/src/mbcomb/Examples/partitions.c
iterpc/src/mbcomb/Examples/k-permutations-elements.c
iterpc/src/mbcomb/Examples/combinations-elements.c
iterpc/src/mbcomb/Examples/permutations-elements.c
iterpc/src/mbcomb/Examples/k-permutations.c
iterpc/src/mbcomb/Examples/n-tuples.c
iterpc/src/mbcomb/Examples/partitions-elements.c
iterpc/src/mbcomb/Examples/subsets-elements.c
iterpc/src/mbcomb/Examples/multiset-combinations.c
iterpc/src/mbcomb/Examples/multicombinations.c
iterpc/src/mbcomb/Examples/permutations.c
iterpc/src/mbcomb/README
iterpc/src/mbcomb/Src
iterpc/src/mbcomb/Src/combination.c
iterpc/src/mbcomb/Src/k-permutation.c
iterpc/src/mbcomb/Src/comb-util.c
iterpc/src/mbcomb/Src/multicombination.c
iterpc/src/mbcomb/Src/permutation.c
iterpc/src/mbcomb/Src/n-tuple.c
iterpc/src/mbcomb/Src/subset.c
iterpc/src/mbcomb/Src/multiset-subset.c
iterpc/src/mbcomb/Src/multiset-combination.c
iterpc/src/mbcomb/Src/subset-subset.c
iterpc/src/mbcomb/Src/partition.c
iterpc/src/mbcomb/Include
iterpc/src/mbcomb/Include/subset.h
iterpc/src/mbcomb/Include/subset-subset.h
iterpc/src/mbcomb/Include/permutation.h
iterpc/src/mbcomb/Include/comb-util.h
iterpc/src/mbcomb/Include/n-tuple.h
iterpc/src/mbcomb/Include/multiset-combination.h
iterpc/src/mbcomb/Include/combination.h
iterpc/src/mbcomb/Include/partition.h
iterpc/src/mbcomb/Include/multiset-subset.h
iterpc/src/mbcomb/Include/k-permutation.h
iterpc/src/mbcomb/Include/mbcommon.h
iterpc/src/mbcomb/Include/multicombination.h
iterpc/src/permutation.cpp
iterpc/src/RcppExports.cpp
iterpc/src/utils
iterpc/src/utils/k-permutation.c
iterpc/src/utils/k-permutation.h
iterpc/NAMESPACE
iterpc/demo
iterpc/demo/combinations.r
iterpc/demo/00Index
iterpc/demo/permutations.r
iterpc/R
iterpc/R/combination.R
iterpc/R/iterator.R
iterpc/R/utilities.R
iterpc/R/RcppExports.R
iterpc/R/permutation.R
iterpc/README.md
iterpc/MD5
iterpc/DESCRIPTION
iterpc/man
iterpc/man/getnext.Rd
iterpc/man/getall.Rd
iterpc/man/getlength.Rd
iterpc/man/getcurrent.Rd
iterpc/man/np_multiset.Rd
iterpc/man/nc_multiset.Rd
iterpc/man/iter_wrapper.Rd
iterpc/man/multichoose.Rd
iterpc/man/iterpc.Rd