Class ReducingListBasedLcs<T>

  • Type Parameters:
    T - the type of the item in the sequence of items

    public class ReducingListBasedLcs<T>
    extends ReducingLcs<java.util.List<T>,​T>
    An implementation of the ReducingLcs that takes as its input a list of items, where the list is the 'sequence' being checked for the Longest Common Subsequence.
    • Constructor Summary

      Constructors 
      Constructor Description
      ReducingListBasedLcs​(java.util.List<T> x, java.util.List<T> y)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int lengthOf​(java.util.List<T> i)
      Return the length of the given sequence
      protected boolean matches​(T x, T y)
      Returns true if the value of x and y match
      protected java.util.List<T> reduce​(java.util.List<T> i, int start, int end)
      Create a subsequence from the given input sequence.
      protected T valueOf​(java.util.List<T> i, int offset)
      Return the value at the given 0-based offset
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReducingListBasedLcs

        public ReducingListBasedLcs​(java.util.List<T> x,
                                    java.util.List<T> y)
    • Method Detail

      • matches

        protected boolean matches​(T x,
                                  T y)
        Description copied from class: Lcs
        Returns true if the value of x and y match
        Overrides:
        matches in class ReducingLcs<java.util.List<T>,​T>
        Parameters:
        x - the x-sequence element of interest
        y - the y-sequence element of interest
        Returns:
        true if x matches y; false otherwise
      • reduce

        protected java.util.List<T> reduce​(java.util.List<T> i,
                                           int start,
                                           int end)
        Description copied from class: ReducingLcs
        Create a subsequence from the given input sequence.
        Specified by:
        reduce in class ReducingLcs<java.util.List<T>,​T>
        Parameters:
        i - the input sequence; 0-based (x or y)
        start - the start index; 0-based (inclusive)
        end - the end index (exclusive)
        Returns:
        the subsequence
      • lengthOf

        protected int lengthOf​(java.util.List<T> i)
        Description copied from class: ReducingLcs
        Return the length of the given sequence
        Specified by:
        lengthOf in class ReducingLcs<java.util.List<T>,​T>
        Parameters:
        i - the input sequence (x or y)
        Returns:
        the length
      • valueOf

        protected T valueOf​(java.util.List<T> i,
                            int offset)
        Description copied from class: ReducingLcs
        Return the value at the given 0-based offset
        Specified by:
        valueOf in class ReducingLcs<java.util.List<T>,​T>
        Parameters:
        i - the input sequence (x or y)
        offset - the offset
        Returns:
        the value