|
本帖最后由 kangson 于 23.3.2010 10:00 编辑 2 q/ Q0 V* d/ g# Y
回复 kangson . h& q/ b! _% o7 h) x0 b
6 d( y3 `' n; q! A9 U& U& J6 O0 V/ o# _# S: R6 Q/ j* N
我同意如果是5w条记录,按照O(2)来看时间比较长,vba本身也不是什么执行效率多高的 ...% [: j( F1 |& |' B$ R1 C
# o3 o9 ^: K9 b& i
1 e1 x' c$ Q( ?/ c3 R4 Y1 }4 O& B$ Y( W$ @$ S 我同意如果是5w条记录,按照O(2)来看时间比较长,vba本身也不是什么执行效率多高的软件,可是比起你不会vba手工操作呢??! O" p n; |4 A) U" _
$ J( v0 X9 L: e# `. {1 C* S5 U3 E+ |另外先sort在查找经常是没用的,尤其是对不规则编码的列进行处理,我说的数据也没说是数字,+ M2 T) f) r$ f1 r/ Y& p; U0 O. |* }, W5 o
在如果不能改变cell的sequence,sort完也不符合要求了。
5 X. b, D {! O2 z$ Q$ ~, Qstyler 发表于 22.3.2010 23:51 ![]() . A: a9 H7 W( W. n2 y1 N
; m) \+ N3 N- l5 d1 f' @- e4 C8 a你说的很对,不会编程,你所提及的问题解决不了。( O! V) T9 M% A, |4 C4 K6 x+ ?& n
顺便说一下,如果排序后,计算复杂度就不是O(n2)了,就会减小为o(n)
$ y' z/ @! Y. L+ k0 d7 `+ T! R: x其次,sorting的不一定是数字* V4 Q/ A/ e- r
下面简单猜测一下lookup这个函数的原理
* |; \. b4 o8 E/ |不可能遍历搜索,因为效率太低,所以,我估摸着,lookup这个函数很有可能是后台排序,然后二叉数寻址' x9 N& D6 V# W% f8 i" s/ O( e* }6 W
' j# ^: a4 G" w8 e e x7 @( U) K* C! j8 `
7 @3 j4 W6 K, }, \, `+ u1 Q! T, H4 e! a9 k- |0 `8 I0 x* f8 [/ C
|
|