Longest common subsequence: Difference between revisions

Content added Content deleted
(Simplified discussion of the product-order, defining it to be non-strict in keeping with wider convention. Corrected legend.)
m (Switched std::map to C++11 std::unordered_map to reduce initial Match() overhead.)
Line 460: Line 460:
#include <iostream>
#include <iostream>
#include <deque>
#include <deque>
#include <map>
#include <unordered_map>
#include <algorithm> // for lower_bound()
#include <algorithm> // for lower_bound()
#include <iterator> // for next() and prev()
#include <iterator> // for next() and prev()
Line 490: Line 490:
typedef deque<uint32_t> THRESHOLD;
typedef deque<uint32_t> THRESHOLD;
typedef deque<uint32_t> INDEXES;
typedef deque<uint32_t> INDEXES;
typedef map<char, INDEXES> CHAR2INDEXES;
typedef unordered_map<char, INDEXES> CHAR2INDEXES;
typedef deque<INDEXES*> MATCHES;
typedef deque<INDEXES*> MATCHES;