programmatom / TreeLib

Balanced Binary Trees - Rank Augmented
http://programmatom.github.io/TreeLib/
GNU Lesser General Public License v3.0
11 stars 4 forks source link

"the source of the modification must be made available" (modifications of the AVLTreeList.cs in the Links Platform) #5

Closed Konard closed 8 years ago

Konard commented 8 years ago

As your license states I publish modification of your source code, that was made in the Links Platform project: https://github.com/Konard/LinksPlatform/blob/8fe8ca75c82ef8dfc2bbfd2b478f222009f0a238/Platform/Platform.Data.Core/Collections/Trees/SizeBalancedTreeMethods3.cs

These modifications are based on: https://github.com/programmatom/TreeLib/blob/master/TreeLib/TreeLib/Generated/AVLTreeList.cs

All next modifications will be published in https://github.com/Konard/LinksPlatform repository.

Can you check this for a licence violation?

Konard commented 8 years ago

https://github.com/Konard/LinksPlatform/blob/31d2233a6b1a3e02a630f94450ad6fe3445c4cb1/Platform/Platform.Data.Core/Collections/Trees/SizeBalancedTreeMethods3.cs (new version after code clean up).

programmatom commented 8 years ago

Hi Konstantin,

Thanks for letting me know about it. I'm glad you found something of use there.

Tom

On 6/29/2016 7:43 AM, Konstantin Dyachenko wrote:

https://github.com/Konard/LinksPlatform/blob/31d2233a6b1a3e02a630f94450ad6fe3445c4cb1/Platform/Platform.Data.Core/Collections/Trees/SizeBalancedTreeMethods3.cs (new version after code clean up).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/programmatom/TreeLib/issues/5#issuecomment-229378040, or mute the thread https://github.com/notifications/unsubscribe/AH8vquCsmvKtllokCpyQT3mPRqiPtxiRks5qQoSAgaJpZM4JBKyz.

programmatom commented 8 years ago

(Disclosure looked ok to me)

Konard commented 8 years ago

Implementation is better now (added correct calculation of sizes). Size in the tree (and all subtrees) allows to access to the tree by index (like we do so with array) as well as to get borders of range (from 5th to 10th element and so on) fast. And using both sizes and threads we can quickly find the range and iterate through all of its values. So Size + Threads + AVL balancing makes this implementation quite universal data structure, that performs well in any case. Source file is moved: https://github.com/Konard/LinksPlatform/blob/master/Platform/Platform.Data.Core/Collections/Trees/SizedAndThreadedAVLBalancedTreeMethods.cs

In short: "a dream come true data structure". Thank you, I was dreaming of something like this for years. Now I have it.

Konard commented 8 years ago

Added support for threads traversal: https://github.com/Konard/LinksPlatform/commit/bd1c27fdfbe46c45e30f0ba7adf5dcf28186a45c https://github.com/Konard/LinksPlatform/commit/51fbbd137806152840079f10d63cece18eb44309