我有一个作业需要读取一个包含大量随机输入的文件,例如:
Adana
Izmir Adnan Menderes Apt
Addis Ababa
Aden
ADIYAMAN
ALDAN
Amman Marka Intl Airport
Adak Island
Adelaide Airport
ANURADHAPURA
Kodiak Apt
DALLAS/ADDISON
Ardabil
ANDREWS AFB
etc..
如果我指定搜索术语,程序应该找到包含子字符串的行。例如,如果搜索术语为“uradha”,则程序应显示ANURADHAPURA
。如果搜索术语为“airport”,则程序应显示Amman Marka Intl Airport, Adelaide Airport
。
任务规范中的引用:“您需要考虑效率编写此应用程序,就好像涉及大量数据和处理一样…”
我可以很容易地使用循环实现此功能,但性能将为O(n)。我想使用trie,但似乎仅在子字符串从索引0开始时才起作用。
我想知道是否有比O(n)更好的性能解决方案?