- 积分
- 10891
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2024-10-3 14:57:04
|
显示全部楼层
本帖最后由 你有种再说一遍 于 2024-10-17 02:24 编辑
两个for本质还是O(n^2).
其实遍历全图这种操作本身就是禁止的才对,
所谓的开发不规范,亲人两行泪...
获取同名块:
https://www.cnblogs.com/JJBox/p/16002267.html#_lab2_1_1
如果非要遍历全图,像是处理合并图层这类的任务,也会被分解在开图构造索引,然后通过索引进行合并.
那么多年来都没有人摸清楚acad索引构造,确实是力没有往同一个地方使.
DBX没有select是因为还没有制作索引.
1,反序列化数据库,DBX
2,构造索引(map,有序数组,二叉树,四叉树,八叉树)
3,通过索引进行选择(查)
4,绘图过程中就是维护索引(增删改)
5,序列化,通常序列化是有序的.
因为节省内存的操作是通过mmap不断读取和写入磁盘的数据块.这样读取可以不用排序,直接利用二分法查找.
不过dwg可能并非这样操作,我看开源dwg工程都是制作一系列map,map是无序的O(1).
|
|