问题描述
老板最近给了我一个空间数据压缩包,压缩包中包含10个文件,每一个文件中包含ID、X坐标、Y坐标、元素一、元素二五种标签,每个大约包含四百万条数据。老板对我提出的要求是以一个文件的XY坐标为准,找出其他九个文件中与其最相近的坐标,将相近坐标的两个元素复制到标准文件中。
| ID | X | Y | 元素一 | 元素二 |
|---|
菜鸟级想法
当时听到这个要求是,脑海中立马跳出一个想法,将标准文件的XY坐标与比较文件的所有XY坐标进行求距离得到最小值就OK了嘛。想法很美好,结果很现实,写了个matlab函数进行操作结果5个小时没搞出来,这个算法的时间复杂度为 0(n2)0(n2),n为百万级单位,在我的小破笔记本上短时间计算出来好比中国足球在世界杯拿冠军。
distance=(xi−x

本文探讨了在处理百万级数据排序时遇到的问题,从最初的暴力算法到改进的排序算法,包括直接插入、希尔、选择、堆、冒泡、快速排序的比较。通过测试,发现快速排序在时间和空间复杂度上表现最优。最终,通过二分查找算法的优化,将原本耗时7小时的任务降低到15分钟,强调了算法选择和数据分析的重要性。
最低0.47元/天 解锁文章
261

被折叠的 条评论
为什么被折叠?



