Can I know if a bitcoin private/public key or address was derived from another key in an HD wallet by its structure? If I have a bitcoin private key, public key or address, can I know if it is a root private key or some other part which derived from a root private key in an HD wallet by the structure of it?

To be more specific - I don't need to know any details about the parent keys or to connect a hierarchy between two keys - just to know by the structure if to treat this key/address as "unique" one in my program.
Individual address private keys begin with 5,L or K. What you're calling root private keys are actually called extended private keys and they begin with ?prv where ? is either x,z,y,Y,Z. You can see examples of those here. So that's how you tell the difference.