Does the execution plan actually traverse the graph when executing a Cypher query?

Hello, I understand that the task of executing a query is decomposed into operators, and these operators will are combined into a tree-like structure called an execution plan.

My questions are:
(a) Do these operators actually traverse the graph?
(b) Or Neo4j will first generate these operators, then use Runtime to traverse the graph and output the result? (which means generating operators and use Runtime to execute the query are two separate and continuous steps)

THank you so much!