Vincent Snijders schrieb:
2010/11/14 Thaddy <tha...@thaddy.com>:
On 13-11-2010 20:56, Hans-Peter Diettrich wrote:
The comparison in the UTF-8 string example is very questionable. First
ch(i) is not equivalent to ch, not even closely related, and the claim of
O(N^2) operations deserves an proof - IMO it's simply wrong.

Yes, this caught my eye as well: O(N^2) seems only the case if "length"
would be evaluated every time. S

the O(N^2) stems from the fact that it is hard to get the ith
character in a a UTF8String in O(1). Suppose it is o(N), then the loop
is O(n^2).

With regards to UTF-8 (or other MBCS) strings, what does Length(s) return in these cases? IMO other functions have to be used for the determination of the true character count (as opposed to the char=byte count).

At least the example code has to be made work, i.e. the nonsense statement
  DoSomething(ch(i));
has to be changed into something like
  DoSomething(GetUTF8char(s,i));
before we can can talk honestly about the order of the loop.

DoDi

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to