1) Basic block scheduling involves representing each basic block as a data dependence graph with nodes as operations and edges showing dependencies. Each node has a resource table and edges are labeled with delays.
2) List scheduling involves visiting nodes in prioritized topological order. The priority function aims to minimize the schedule length based on node height or critical resources.
3) Prioritized topological orders aim to schedule nodes to minimize the schedule length based on node height, critical resources used, or source code order to break ties. This helps find a near-optimal schedule without backtracking.