Given an undirected graph G = (V, E), and a designated vertex q is an element of V, the notion of a G-parking function (with respect to q) was independently developed and studied by various authors, and has recently gained renewed attention. This notion generalizes the classical notion of a parking function associated with the complete graph. In this work, we study the properties of maximum G-parking functions and provide a new bijection between them and the set of spanning trees of G with no broken circuit. As a case study, we specialize some of our results to the graph corresponding to the discrete n-cube Q(n). We present the article in an expository self-contained form, since we found the combinatorial aspects of G-parking functions somewhat scattered in the literature, typically treated in conjunction with sandpile models and closely related chip-firing games. (C) 2010 Elsevier B.V. All rights reserved.