Pseudocode example for updating x y z coordinates
However, I believe these changes are infrequent enough that having O(n) for changes may be worthwhile if the lookup speed is even marginally faster (as this is the more frequent operation).
Having had a brief look over octaves/r-trees, I feel safe saying that my data set is not complex enough to require such an engineering heavy solution. I believe I have found the optimal (without overcomplicating the problem) data structure for my problem.
When it comes down to it, i am fairly sure that any of the three options I outlined would work, even if not the fastest, but I would like to learn a good and relatively efficient method, rather than just relying on the awesome power of modern computers to brute force a problem like I normally do. There was at least minor idiocy on my part for not recognising this earlier.
Option 2 seems the best to me, although in the past I've normally seen people more inclined to go with option 1.
I'm interested to hear your opinions on the best way to handle this along with your reasoning. Update Thanks for the responses, I stand to learn quite a lot from your comments as I am a hobby programmer, having taken only one short course on the fundamentals of C a few years back.
Within the evolutionary context, having performed the simulation of human visual cortex, we present a novel, biologically inspired solution to these problems, with aim to accelerate processing.
Our massively parallel algorithms are applicable to patterns recorded on rectangular imaging arrays of arbitrary sizes and [email protected] Dragon The array is not jagged, all z "slices" have the same range of x and y.The values also don't seem sparse enough for a hash table (which IIRC slow down significantly on hash collision - which is guaranteed as multiple elements have the same (x,y,z)).The real-time tasks of image interpretation, pattern clustering, recognition and classification necessitate quick analysis of registered patterns.Current algorithms and technological approaches are slow and rigid.The dimensions of the set are known on file load (they are included in the file header along with an md5 hash of the file for error checking and a few bit relevant to the analysis)[email protected] Trana / Florian F The data set is pre-built and is infrequently modified by the program - a piece of data may need to be moved or deleted.His current efforts are devoted to side-chain packing of proteins in a joint collaboration with the Biology Department of Brock University, Yale University and New York City College.I hope that programmers is the correct stack exchange for this, as it is quite a concept based question.If I use a three-dimensional dynamic array of pointers to linked list, I don't exactly lose much speed or heap space setting a pointer to NULL rather than attaching a struct.This also allows full access to any 3d, which while not currently may reduce some operations from O(n) to O(1).