Scheduling is considered as the most important task in high-level synthesis process. This paper presents a novel list-based scheduling algorithm based on incorporating some information extracted from data flow graph (DFG) structure to guide the scheduler to find near-optimal/optimal schedules quickly. We have developed a novel approach based on DFG analysis that is totally done as preparation phase. This DFG analysis information includes: every node knows its successor and its predecessor, total number of successors, and the tree which it belongs to, where trees are constructed from every output operation from the constructed DFG. Incorporating this knowledge in the priority functions of the scheduler guided the scheduler to make the correct choice of the perfect operation to be scheduled next.