An associative memory is a content-addressable structure that maps a set of input patterns to a set of output patterns. A content-addressable structure is a kind of memory that allows the recall of data based on the degree of similarity between the input pattern as well as the patterns saved in memory.