A Distributed Clustering Algorithm DCA and a Distributed Mobility-Adaptive Clustering DMAC algorithm are presented that partition the nodes of a fully mobile network ad hoc network into clusters, thus giving the network a hierarchical organization. Nodes are grouped by following a new weight-based criterion that allows the choice of the nodes that coordinate the clustering process based on node mobility-related parameters. The DCA is suitable for clustering quasistatic" ad hoc networks. It is easy to implement and its time complexity is proven to be bounded by a network parameter that depends on the topology of the network rather than on its size, i.e., the invariant number of the network nodes. The DMAC algorithm adapts to the changes in the network topology due to the mobility of the nodes, and it is thus suitable for any mobile environment. Both algorithms are executed at each node with the sole knowledge of the identity of the one hop neighbors, and induce on the network the ...