[#] [Из песочницы] Битовая магия: получение следующего лексикографического сочетания
habrabot(difrex,1) — All
2015-12-09 14:30:02




# Введение

Допустим у нас есть некоторое множество, которое состоит из _N_ элементов. Будем считать, что элементы пронумерованы от нуля до _N-1_. Набор _k_-элементных подмножеств данного множества (сочетаний) можно представить либо в виде массива индексов длины _k_. Либо в виде последовательности из _N_ бит, в которой установлено ровно _k_ из них. У Дональда Кнута в его приводится алгоритм генерации сочетаний в лексикографическом порядке, когда сочетания заданы в виде массива индексов. Мы попробуем перенести этот алгоритм на случай битовых масок. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272707/#habracut