| Re: Re: Re: Re: nice approach Sep 16 2009 on content QTreeViewer | "Clustering" is an invention of mine. I took a B-tree (B for block or Bayer?) and sorted the elements stored with each node. Because the elements were stored in sorted arrays I could use binary search to lookup an element by value... At this point the access pattern looks like a binary tree lookup and the question opens up if I could go the other way round. Take a binary tree and align the elements stored in a subtree to a memory page.
The most common issue with binary trees is that they don't scale to virtual memory, which could be solved at this point.
By the way, the same holds true for in-memory hashes. Reading the binary number along the search path gives nothing more than a perfect hash sum. For instance the Ruby gems package manager fails on systems with low memory because of using hashes that don't scale in memory.
Also when paging out a subtree it could be stored as a sorted array, greatly increasing the memory density of the binary tree. For read-only access you wouldn't need to unpack the array -- simply go with sequential read or binary search.
Anyway, that's all part of my theory dream worlds and I have practically no time time to follow those paths...
For my study papers I was used to take graphviz. Having some graphviz style data import and printing would be nice, too.
|
| ![.](/img/trans.gif) | | Re: Re: nice approach Sep 15 2009 on content QTreeViewer | Rotations allow equivalent transformation of the tree. There are only two rotations defined. I remember it was quite fun to invoke rotations by clicking on nodes and watching the structure to change. This allowed me to develop a natural understanding of tree balancing algorithms... But where I left the code?... hmmm...
When talking about random access I was thinking about index access. When you know the number of elements in the left and right subtree you can easily decide where to go, if you are looking for the n-th element stored in a tree. Yes, traversing from the root takes O(n)=h.
|
| ![.](/img/trans.gif) | | nice approach Sep 14 2009 on content QTreeViewer | Looks like a useful app. I remember writing similar applications during my studies some years ago. One thing that changed since then: node pointers are now most likely 64 bit and node payload therefore doesn't matter that much anymore.
Things I'm missing:
* scroll wheel zoom
* node rotation via context menu
Some pointers from my sources:
* http://trac.cyblogic.com/libPONA/browser/pona/BinaryTree.hpp
* http://trac.cyblogic.com/libPONA/browser/pona/AvlTree.hpp
One thing I really would love to explore with binary trees is keeping node counts with each node. Each node would store the number of nodes in its subtree and thereby would allow O(n)=c*ld(n) random access on the tree. Of cause such node counts would need to be updated during insertions/rotations...
And what about clustering nodes to memory pages, well ... I'm day dreaming.
|
| ![.](/img/trans.gif) | | Re: Can't build on Debian Lenny :( May 27 2009 on content Konzept | It's still a Qt3 application. You need to have pyuic point to pyuic of pyqt (version 3). The 'Makefile' is actually only a few lines. |
| ![.](/img/trans.gif) | | Re: Compilation Erro Nov 5 2007 on content Konzept | I guess, it's a bug of your imagemagick SVG rederer. Can't do much about it for now. |
| ![.](/img/trans.gif) | | Re: Awesome Oct 27 2005 on content Konzept | EPS export is not supported directly. Maybe a future version will have this feature. To embed diagrams into your latex documents you can print to file which generates a postscript file and convert these output file to EPS. (Maybe you know the "ps2epsi"?) |
| ![.](/img/trans.gif) | | Great Approach! Oct 24 2005 on content LavaPE | I really love the idea of editing syntax trees. But a simple question pops up in my mind.
You ever considered to develop a structure editor for a subset of an established language, for instance like Python, Ruby or C++? |
| ![.](/img/trans.gif) | | Re: Python import Oct 19 2005 on content Konzept | I don't feel good about code generators or retro-tools. But any suggestions about how to get Python support integrated are very welcome. Maybe it changes my mind about that topic. |
| ![.](/img/trans.gif) | | Re: compile error Oct 17 2005 on content KAlgebra | Maybe this instruction helps: make -f Makefile.cvs ./configure && make -j2 Make shure your QTDIR and PATH is set correctly. |
| ![.](/img/trans.gif) | | Re: 404 Oct 15 2005 on content Konzept | Oh, thanks for that comment. Now it's available again. |
| ![.](/img/trans.gif) |
Search people Current visitors New users Birthdays Most active users Back
|
|