Skip to content

Incorrect order of answers when using the wildcard '*' in DAWG #11

@lifmore

Description

@lifmore

Hi,

I wonder if there is a small issue in the file automata.py, function __words_with_wildcard, between lines 128 and 147, when the case letter=='*' is processed.

If the dictionary is made of, for example, "CHIAC" and "CHIC", and the query is "CHI*C", the result will be return in an incorrect alphabetical order : "CHIC" then "CHIAC".

This is because the case words_at_current_level is processed before checking the children.

So, for "CHI*C",

  • words_at_current_level will first find "CHIC"
  • then the loop for child in node.children will find "CHIAC", resulting in an incorrect order of answers.

Any idea? Or maybe did I misunderstood the code?

Best,
Lionel

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions