  Arrival of multicore systems has enforced a new scenario in computing, the
parallel and distributed algorithms are fast replacing the older sequential
algorithms, with many challenges of these techniques. The distributed
algorithms provide distributed processing using distributed file systems and
processing units, while network is modeled as minimum cost spanning tree. On
the other hand, the parallel processing chooses different language platforms,
data parallel vs. parallel programming, and GPUs. Processing units, memory
elements and storage are connected through dynamic distributed networks in the
form of spanning trees. The article presents foundational algorithms, analysis,
and efficiency considerations.
