考一个比较经典的问题(3) “查找”
电话本查找:
现在有一个电话本,就是
struct
{
char number[20];
char name[30];
}PhoneBook;
的数组,比如说有15000个,怎样才能做到最快的查找。匹配方法:只匹配后七位,后七位相同的,只要找到,随便哪个都行。
number[]就是类似于"02150802123","+8613917040236"之类的,其他字符都是不合法的,不会出现。
(这个是在《编程珠玑》中第一章讲的,同时也是我们项目中遇到的问题。
算法复杂度是O(n),还有用链表存储的解决方案,不做考虑)