UVM component constructor

Sir
In UVM component constructors it is written “parent = null”,as far i searched for it ,it showed because of “parent=null” this particular component becomes the child of uvm_top.
Actually I did not get it and what is the advantage of it if the component becomes child of uvm_top?

In reply to swadheen:

All classes derived from umm_component are put into a hierarchical tree structure. This structure allows all components to be traversed for thinks like report settings, and the execution of the *_phase methods. Tree structures need a top (or root depending on your perspective) singleton object so that all components can be accessed. If you leave a components parent as null, there would be no way to find it. You could build another list of all orphan components, but then you have to maintain two different traversal methods.

In reply to dave_59:

I appreciate for your answer,But Sir it would be great if you make us understand by a small example.
Thank you

In reply to swadheen:

The link I gave has examples of tree structures. You can search for more in many other programming languages you might be familiar with.