In 10 years of web dev I’ve never had to design or traverse a tree from first principles. There’s no reason for me to keep that in working memory other than as the world’s most boring parlor trick.
Any frontend framework is tree base. DOM is a tree. File system is a tree. GoogleMap is a Tree. You are working with trees for 10 years. I find very sad that you consider this concept as useless.
A few examples of when I had to implement tree or graph structure in 10 years:
I wrote an octree based structure to accelerate ray casting for radar simulation in C/Mathlab for nuclear industry.
I wrote a mission planning software, where items (area, boundary, POI, etc...) were stored as a tree hierarchy in C# for defense industry.
I wrote multi-resolution engine for OpenInventor in C++ based on octree for oil and gaz industry.
I worked a lot on OpenInventor Scene graph engine, which is basically a tree. Optimize its structure, its traversal, etc... in C++ for CAD industry.
I developed a "google drive" like client in python to display file system and some associated meta-data (which is no more than a tree) for medical research.
I developed a chart engine in Qt/C++, which is based on Scene Graph pattern, so again a tree structure, for oil and gaz industry.
Different projects, different domains, but the same way to address them. So I had to manipulate graph and tree structure at least once a year.
The point is not to know by heart how to implement a traversal, a deep search or whatever. I've implemented maybe a dozen of deep search in my career, but I'm still unable to do it properly at first try.
The point is to recognize that the problem you have to address can be modeled with a tree, a graph, or any other classical structure or design pattern.
We are working on very different projects my friend. I've primarily worked on forms-over-data business software, content management, and a little bit of streaming audio/video.
The point is not to know by heart how to implement a traversal, a deep search or whatever. I've implemented maybe a dozen of deep search in my career, but I'm still unable to do it properly at first try.
The point is to recognize that the problem you have to address can be modeled with a tree, a graph, or any other classical structure or design pattern.
I agree with you here 100%.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
In 10 years of web dev I’ve never had to design or traverse a tree from first principles. There’s no reason for me to keep that in working memory other than as the world’s most boring parlor trick.
Any frontend framework is tree base. DOM is a tree. File system is a tree. GoogleMap is a Tree. You are working with trees for 10 years. I find very sad that you consider this concept as useless.
How often are you actively writing novel algorithms to traverse any of these that this is important to you and needs to remain in working memory?
A few examples of when I had to implement tree or graph structure in 10 years:
Different projects, different domains, but the same way to address them. So I had to manipulate graph and tree structure at least once a year.
The point is not to know by heart how to implement a traversal, a deep search or whatever. I've implemented maybe a dozen of deep search in my career, but I'm still unable to do it properly at first try.
The point is to recognize that the problem you have to address can be modeled with a tree, a graph, or any other classical structure or design pattern.
We are working on very different projects my friend. I've primarily worked on forms-over-data business software, content management, and a little bit of streaming audio/video.
I agree with you here 100%.