Are these tree traversals obtained due to the concept of Binary Search Tree? (i.e., where left subtree is smaller than right subtree and hence we traverse left before right?)
Apparently not, because of those four traversals, the only one that really makes sense for a binary search tree is the 'inorder' traversal. The other three would read elements out of order.
Rather, I think it's that the convention for binary trees (at least in English-speaking countries) is to call the first child "left" and the second child "right", and to draw them accordingly when drawing visual representations. That convention applies both to binary search trees (where the first child contains all values that come before the parent's, and the second child contains all values that come after it) and to tree traversals (where we traverse the first child before the second).
What about other combinations of tree traversals? Example: Right-Root-Left, Right-Left-Root, Root-Right-Left, and in Level-order we traverse from Right node?
All totally possible. You could also traverse in a zigzag order, where sometimes you process the left child before the right child, and sometimes the reverse. (Or, put another way: where sometimes you describe the first child as "left" and the second child as "right", and sometimes the reverse.)
If the above combinations of tree traversals are valid, I guess the time-complexity of tree-travels will remain the same with respect to their left-first counterparts?
If your tree structure involves explicit pointers to children and so on, and your traversals follow those pointers, then — yes: "left" and "right" are just names, and don't affect the theoretical time-complexity. But if your tree structure is implicit (for example, as is typically done with binary heaps), then it might depend on the details.
In real-world applications, do they use the right-first combinations of tree-traversals? Give examples.
I'm sure there exist real-world applications that involve traversing a binary search tree from greatest to least element. In such an application, the terms "left" and "right" are likely to be assigned based on the convention that smaller values come first (on the left), so the traversals from greatest-to-least will start at the "end" of the tree, meaning its rightmost node, and proceed toward its "start", meaning its leftmost.
However, the most obvious instance of this sort of thing would be querying a SQL table with an ORDER BY ... DESC
clause; and I believe the major SQL implementations use sorted B-trees, not specifically binary search trees, so they probably don't use the terms "left" and "right".