求助!关于门禁卡号在EEPROM中如何快速查找

2020-01-30 13:52发布

小弟最近在搞一个门禁系统,用了STC12C5A32的单片机,内部的“EEPROM”是比较大,如果一张卡号存4个字节,那么可以存7000张卡这样子,如果用历遍法查找7000张卡中的一张卡号,用的时间太长了,有什么算法能快速的查找吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
BDXing6
1楼-- · 2020-01-30 14:05
卡号*4=地址
sibtck
2楼-- · 2020-01-30 18:27
数据 库....
daliqi
3楼-- · 2020-01-31 00:06
哈希表,通过哈希算法,让每个UID与某个地址对应起来,这样查找每个的UID的时间相同。数量少时遍历还凑合,多的话时间上受不了。哈希表的缺点是会浪费些存储空间。
cc224
4楼-- · 2020-01-31 02:43
排序,然后就可以用二分法查找了
XA144F
5楼-- · 2020-01-31 07:51
 精彩回答 2  元偷偷看……
Etual
6楼-- · 2020-01-31 11:44
链式哈希表,设计得好的话7000条数据读取几次就找到数据了。还可以考虑将常用数据上浮,以实用次数排序
那么对于经常使用的卡,搜1-3次就读出来了。

一周热门 更多>