[flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread andrii_olefirenko
The trick is to keep hash value of all elements of the array. Prerequisites are following: 1. Hash function H(index, object) should return unique value for the object and the index of this object in the array (so two equal objects in different positions have different hash value, H(i, obj1) !=

Re: [flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread Eric Cancil
A more specific use case may result in a more elegant solution On Sun, Feb 24, 2008 at 10:18 AM, andrii_olefirenko [EMAIL PROTECTED] wrote: The trick is to keep hash value of all elements of the array. Prerequisites are following: 1. Hash function H(index, object) should return unique value

RE: [flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread Gordon Smith
Of course, modifying an array would become more expensive operation, but it's still O(1) operation The overhead when modifying each element is O(1), so the total overhead you've incurred is O(n). Gordon Smith Adobe Flex SDK Team From:

RE: [flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread Maciek
True. However, andrii's solution does amortize the cost of the comparison across all array modifications, so you don't incur it all at once when doing the comparison. Depending on the actual requirements of the situation (and assuming you control array modifications, and are not just trying to

[flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread andrii_olefirenko
That's right if you treat a user as continuous array of input data. If the user is a human, that won't be the case. O(1) + O(1).. + O(1) won't do O(N) in total. Imagine the users who enters/modify the data in two arrays (via Flex app). They need to see if two arrays are identical. Our flex app

RE: [flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread Gordon Smith
I agree that it is O(1) in the sense that you describe, because the O(n) work has been amortized to be imperceptible. Do you actually know of a good hash function for this case? - Gordon From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of

[flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread andrii_olefirenko
I'm not a math guy, I'm more of a miracle guy(c) :) Picking up a good hash function is art :) I would start with MD5 over serialized version of the object, but there could be more effective hash functions if you know more about object structure. --- In flexcoders@yahoogroups.com, Gordon Smith

RE: [flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread Gordon Smith
But MD5 is order-dependent, isn't it? Otherwise, MD5 would say that documents containing hello, world and world, hello are the same. - Gordon From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of andrii_olefirenko Sent: Sunday, February 24,

[flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-24 Thread andrii_olefirenko
I'm pretty sure about MD5 transposition quality as it's used to hash passwords, it's not ordinary check sum. So yes, it's order depended. And therefore serialization of the object fields should be ordered (in alphabetical order, for instance) And it is indeed ordered, as far as i remember. ---

[flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-23 Thread andrii_olefirenko
if you are really concerned about performance I would recommend to hash values added to the array into common hash and then comparing two arrays would take only O(1) not O(n) Andrii Olefirenko --- In flexcoders@yahoogroups.com, Sergey Kovalyov [EMAIL PROTECTED] wrote: What is the best way to

RE: [flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-23 Thread Gordon Smith
Can you give more detail? I don't believe there is any O(1) algorithm for this. O(1) means that comparing two 100,000-element arrays would take the same time as comparing two 100-element arrays. Gordon Smith Adobe Flex SDK Team From: flexcoders@yahoogroups.com

[flexcoders] Re: What is the best way to compare two arrays element by element ignoring the o

2008-02-22 Thread Maciek Sakrejda
I don't believe that will do it, since the arrays aren't actually equal: I believe Arrays (for the purposes of object comparison) are only equal if they contain the same elements in the same order. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Scot