You are given a list of tasks where each task has dependencies on other tasks. The tasks are represented as a dictionary, where:
The key is the task name (a string).
The value is a list of tasks that must be completed before this task can be executed.
Write a program to determine the fastest valid execution order, ensuring that each task runs only after its dependencies are completed.
Example Input:
{
"a": ["b", "c"],
"b": ["c", "d", "e"],
"c": ["d"],
"d": []
}
Expected Output:
d → c → b → a