Pages tagged datastructures:
Pode ser útil para a situação de detectar redirects ciclicos de páginas web!
many method of finding loop in singled list with code
Understanding Ternary Trees | PC Plus
http://www.pcplus.co.uk/node/3074/
ince we m
Ternary trees are the fastest way to search for data strings, at least in hardcore programming terms, but how exactly do they work?
Dictionary of Algorithms and Data Structures
Definitions of algorithms, data structures, and classical Computer Science problems. Some entries have links to implementations and more information.
Damn Cool Algorithms: Spatial indexing with Quadtrees and Hilbert Curves - Nick's Blog
How to find the location of a particular point in a Hilbert curve. (via delicious popular)
Finally: Finger Trees! : Good Math, Bad Math
http://scienceblogs.com/goodmath/2009/05/finally_finger_trees.php
What finger trees do is give me a way of representing a list that has both the convenience of the traditional cons list, and the search efficiency of the array based method. The basic idea of the finger tree is amazingly simple. It's a balanced tree where you store all of the data in the leaves. The internal nodes are just a structure on which you can hang annotations, which you can use for optimizing search operations on the tree.
"The basic idea of the finger tree is amazingly simple. It's a balanced tree where you store all of the data in the leaves. The internal nodes are just a structure on which you can hang annotations, which you can use for optimizing search operations on the tree. What makes the finger tree so elegant is the way that some very smart people have generalized the idea of annotations to make finger trees into a single, easily customizable structure that's useful for so many different purposes: you customize the annotations that you're going to store in the internal nodes according to the main use of your tree." A commentator says regarding the article however, "Ørjan Johanse is right. You described a monoid-annotated-binary-tree, which is not enough to be a finger tree."
A Favorite Data Structure « Rotten Cotton
Ullman Set: position[members[i]] = i
Ullman set, an excellent tutorial
Monoids and Finger Trees
http://apfelmus.nfshost.com/monoid-fingertree.html
"A very powerful application of monoids are 2-3 finger trees, first described by Ralf Hinze and Ross Patterson. Basically, they allow you to write fast implementations for pretty much every abstract data type mentioned in Okasaki's book on purely functional data structures. For example, you can do sequences, priority queues, search trees and priority search queues. Moreover, any fancy and custom data structures like interval trees or something for stock trading are likely to be implementable in this framework as well. How can one tree be useful for so many different data structures? The answer: monoids! Namely, the finger tree works with elements that are related to a monoid, and all the different data structures mentioned above arise by different choices for this monoid. Let me explain how this monoid magic works."
Ruby Algorithms: Sorting, Trie & Heaps - igvita.com
http://www.igvita.com/2009/03/26/ruby-algorithms-sorting-trie-heaps/
Collection of some useful Ruby data structures all coded up and ready for use.
A 10-MINUTE DESCRIPTION OF HOW JUDY ARRAYS WORK AND WHY THEY ARE SO FAST
http://judy.sourceforge.net/doc/10minutes.htm
As the inventor of the Judy algorithm I've been asked repeatedly, "What makes Judy so fast?" The answer is not simple, but finally I can share all of the details.
A complex (to implement) but efficient scalable data-structure that obtains very high performance by minimising the number of cache-line fills required.
A 10-MINUTE DESCRIPTION OF HOW JUDY ARRAYS WORK AND WHY THEY ARE SO FAST
http://judy.sourceforge.net/doc/10minutes.htm
As the inventor of the Judy algorithm I've been asked repeatedly, "What makes Judy so fast?" The answer is not simple, but finally I can share all of the details.
A complex (to implement) but efficient scalable data-structure that obtains very high performance by minimising the number of cache-line fills required.