C++数据搜索算法求助,谢谢指导
今天实习遇到一个问题:
有TF卡中600万条数据(可能好几个月甚至几年的数据),每条数据有一个索引,含有年月日时分秒,以及时间跨度(每条的interval)信息。党然每条的interval会有变化(用户改的), 任务是搜索出特定时间点。 但是问题是,这些数据中,可能时间在某一个时刻被客户改变比如本来是2000年开始,运行到2010年的某一天,用户将其改为2005年,这时,2005至2010年间的每个时间点可能对应着两条记录。用户只希望得到修改后的数据,也就是后面那条。我解决了时间密度不一致的搜索,验证后发现,如果不存在时间倒退,一切ok。但是数学推导发现,如果用户将时间往回改,将存在一段重叠区的数据,将永远不会被检索到。所以想请教一下,不通过遍历,怎么能粗略判断出在哪一段出现了时间突变。或者,别的思路。比如能让这两条数据同时现身。谢谢各位的指导。