Я пытаюсь вывести марковскую цепочку процесса, который могу только смоделировать. Количество состояний / вершин, которые будет содержать конечный граф, очень велико, но я заранее не знаю количество вершин.
Прямо сейчас у меня есть следующее:
boost::dynamic_bitset
содержащий 112 битов каждый шаг по времени.Теперь мне нужна хорошая / быстрая матрица или двумерный массив для хранения целых чисел. Должно:
matrix(3,4) = 3
,Надеюсь, я достаточно ясно изложил свой вопрос.
Я бы порекомендовал http://www.boost.org/doc/libs/1_54_0/libs/numeric/ublas/doc/matrix_sparse.htm — повысить UBLAS разреженных матриц. Существует несколько различных реализаций разреженных матричных хранилищ, поэтому чтение документации поможет вам выбрать тип, подходящий для ваших целей. (TLDR: разреженные матрицы имеют быстрый поиск или быструю вставку.)
Других решений пока нет …