Essa é realmente uma questão muito inteligente e requer o conhecimento de vários conceitos.
Hashing - Hashing em termos de estrutura de dados é a transformação de chave é um método de pesquisa onde os registro armazenados em uma tabela são diretamente endereçados a partir de uma transformação aritmética sobre a chave de pesquisa.
Função Hashing - Acho que essa aqui vocês já conhecem...kkk. É a função que transforma um conjunto de chaves em um conjunto de valores inteiros com colisões permitidas. Essas colisões vão permitir as entradas da tabela hashing.
Tabela Hashing - É um método de recuperação de informações em estrutura de dados utilizando a transformação de chave é um método de pesquisa onde os registro armazenados em uma tabela são diretamente endereçados a partir de uma transformação aritmética sobre a chave de pesquisa.
Função Hash Perfeita - Quando não houver colisões a função hashing é denominada função hashing perfeita.
Função Hashing Perfeitas Mínimas - FHPM - Caso o número de chaves "N" e o tamanho da tabela "M" são iguais , então a função hashing é denominada função hashing perfeita e mínima.
Existem algoritmos classificados na literatura para implementações de FHPM mas acredito que não objeto dessa questão.
Gabarito Certo!