lowcode-engine 如何配置渲染唯一标识 key 避免同类组件切换时表单值串值
2026/9/14 9:57:00
| 算法 | 时间复杂度 | 空间复杂度 | 适用条件 | 平均查找长度(ASL)公式 | 特点 |
|---|---|---|---|---|---|
| 顺序查找 | O(n) | O(1) | 无序/有序线性表 | 成功:(n+1)/2 失败:n+1 | 可用哨兵优化 |
| 折半查找 | O(log n) | O(1) | 有序顺序表 | 成功:向下取整[log₂(n)] + 1 | 需随机访问,链表不可用 |
| 分块查找 | O(√n)(理想块大小) | O(1) | 块间有序+块内无序 | 索引顺序+块内顺序:(b+1)/2+(s+1)/2 | 动态索引效率高 |
假设长n的表,分成b块,每块里面有s条
| 索引查找 | 块内查找 | ASL公式 | 示例(n=100, b=10, s=10) |
|---|---|---|---|
| 顺序查找 | 顺序查找 | (b+1)/2 + (s+1)/2 | 5.5 + 5.5 = 11 |
| 折半查找 | 顺序查找 | 向下取整[log₂(b)] + 1 + (s+1)/2 | 4 + 5.5 = 9.5 |
| 最佳块大小 | - | s=√n 时 ASL最小≈√n | √100=10 |