The authors study two parallel scheduling problems and their use in designing parallel algorithms. First they define a novel scheduling problem that they solve by repeated approximate reschedulings. This leads to an optimal PRAM (parallel random access machine) algorithm for list ranking that runs in logarithmic time. The second scheduling result is for computing prefix sums of log n bit numbers. An optimal parallel algorithm for the problem which runs in sublogarithmic time is given. These two scheduling results together lead to logarithmic-time PRAM algorithms for the connectivity, bioconnectivity and minimum spanning-tree problems. The connectivity and biconnectivity algorithms are optimal unless m equals O(n log n, in graphs of n vertices and m edges.