|
本帖最后由 kangson 于 23.3.2010 10:00 编辑 % k4 D% h6 m7 l- W6 H5 `4 Y F1 T
回复 kangson 7 |& O1 z+ \2 y V j8 O+ ~
! g: x& m* J0 M$ i0 w- t$ P
, n: v: l( A: L: U9 v 我同意如果是5w条记录,按照O(2)来看时间比较长,vba本身也不是什么执行效率多高的 ...5 a0 \; O( c! o& ^
" D' g- M1 s3 c( n! A. a) e
% Q' ^4 D* I. ?8 ^- C+ T" U3 R4 Y1 }4 O& B$ Y( W$ @$ S 我同意如果是5w条记录,按照O(2)来看时间比较长,vba本身也不是什么执行效率多高的软件,可是比起你不会vba手工操作呢??
4 }" P+ |7 p- W' t# u* [" [" M$ J( v0 X9 L: e# `. {1 C* S5 U3 E+ |另外先sort在查找经常是没用的,尤其是对不规则编码的列进行处理,我说的数据也没说是数字,+ M2 T) f) r$ f- N, i: U. U. H5 h
在如果不能改变cell的sequence,sort完也不符合要求了。
: P, P0 c0 h* k# G" hstyler 发表于 22.3.2010 23:51
9 Q( Y& d& p) K" Z# U. x" x, K5 o; b# J
你说的很对,不会编程,你所提及的问题解决不了。
! z. q" p: {$ B# c6 l( B7 r1 O顺便说一下,如果排序后,计算复杂度就不是O(n2)了,就会减小为o(n)
6 L$ z) Z+ T! D( o5 [ A6 V其次,sorting的不一定是数字( A" g7 e1 P6 ?; @# A' u) r
下面简单猜测一下lookup这个函数的原理
5 C4 j: Q9 A& R4 g. `不可能遍历搜索,因为效率太低,所以,我估摸着,lookup这个函数很有可能是后台排序,然后二叉数寻址
! }, c: l9 y9 M' L u4 Q: M
0 k6 F# A5 G( |& u- k8 o |1 {# f' u9 P5 g
4 N8 N" o i T0 |8 d, _
& p) [1 a' y' o3 B# \& y |
|