In practice I've always found avoiding premature optimization and then profiling better than worrying about Big O.
What I do when looking for words is go to `/usr/share/dict/` and grep for things, for example `grep 'su$' american-english` gives me: Amaterasu Fujitsu Ginsu Ieyasu Iguassu jujitsu shiatsu tiramisu
In practice I've always found avoiding premature optimization and then profiling better than worrying about Big O.
What I do when looking for words is go to `/usr/share/dict/` and grep for things, for example `grep 'su$' american-english` gives me: Amaterasu Fujitsu Ginsu Ieyasu Iguassu jujitsu shiatsu tiramisu