Объяснение cvSeqPartition ()? - PullRequest
       13

Объяснение cvSeqPartition ()?

1 голос
/ 17 сентября 2011

Понятия не имею, что это может, кто-нибудь объяснит мне это ПРОСТО? Пожалуйста, не давайте мне сложные математические ответы или что-то слишком техническое, просто его общее назначение Спасибо

1 Ответ

2 голосов
/ 17 сентября 2011
// This function splits the input sequence or set into one or more equivalence classes.
// is_equal(a,b,...) returns non-zero if the two sequence elements
// belong to the same class.  The function returns sequence of integers -
// 0-based class indexes for each element.
//
// The algorithm is described in "Introduction to Algorithms"
// by Cormen, Leiserson and Rivest, chapter "Data structures for disjoint sets"
CV_IMPL  int
cvSeqPartition( const CvSeq* seq, CvMemStorage* storage, CvSeq** labels,
                CvCmpFunc is_equal, void* userdata )

Какая часть требует более подробного объяснения?

Обновление:

В качестве примера рассмотрим следующую последовательность целых чисел:

{9,5,7,5,9,9}

Когда функция is_equal просто проверяет целочисленное равенство, cvSeqPartition найдет 3 класса:

{9,9,9} {5,5} {7}

, поэтому cvSeqPartition будет иметь значение

{0,1,2,1,0,0}

, где каждое число равноиндекс класса элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...