本次课程设计设计的是人口信息查询系统方案验证,通过测试、比较和实际的数字说明,得出一套整体设计方案,使其查询速度最快,稳定性最好。
本次设计的难点在于,测试的数据量比较庞大,怎样实现一种快捷准确的方式来实现人口信息的生成,所以得先写程序自动生成随机的10000000个测试数据,每个数据包括姓名、性别、地址、出生日期、工作信息和电话,其中每个人的信息是采用结构体数组来存放,再用C++中的类来封装,考虑到查找的速度,数据尽量不存在内存中,于是之前生成的数据就是采用线性表的顺序结构存放在文本文档中的。为此必须使用大量的文件读写操作,分块将数据写入读出。
查找每个人的信息,有多种方案可实现查找,一种方案是先把数据从文本中取出来放到链表中,输入所要查找人的姓名,就按照顺序查找的方法逐一地查找。另一种方案是把文本里的数据保存为索引表,按地名相同放在一起,然后查找的时候就是采用索引表查找,也叫分块查找。最后,通过实际的数据比较及性能测试,可以确定的是,索引表查找效率明显高于顺序表查找。
通过多种方案的比较,最终得出一个较为快捷准确的查找方案,即存储采用顺序表存储,查找采用索引表查找,这样能够最大限度的实现系统的优化处理,即提高查找速率。
1