## 4 Problem Analysis and Algorithm Description
### Algorithm Description
#### 4.2.3 Depth-Adjustment Strategy Based on Time Markers  
For different parent nodes in \(\{f_{j}^{i}\}\), we use a time marker \(T_{mark}\) to define network hierarchy. We need to consider the network energy consumption balance. A node near the sink node has low network hierarchy and high probability of data transmission and relay so it needs more energy. Therefore, for the network to have a sustained and stable operation, we should attempt to deploy more nodes in near the sink node and ensure that the surrounding sink node contains more subtrees. Moreover, subtree size should be as small as possible. Our goal is to reducing the redundancy degree of network coverage, increase the 3D space network coverage rate, and maintain constant full network connectivity between subtree parents and child nodes. This study proposes a strategy is based on the depth-adjustment strategy of time markers, and its detailed description is as follows:  
1. The set of neighbor nodes \(\{Nei\ (f_{i}^{\cdot})\}\) under the same network hierarchy (the same time marker \(i\)) are recorded, and then whether two sets of neighboring sleeping nodes intersect under the neighbor time marker and same path of tree is determined. If an intersection exists, then it is \(Nei\_Inter_{i}{}^{+1}\) between time marker \(i\) and \(i+1\); otherwise, an empty set is recorded to \(Nei\_Inter_{i}{}^{i+1}\). 2. Time marker \(T_{mark}\) is initialized to 1, that is, \(T_{mark}=1\). The active node \(f_{j}^{i}\) inside the convex hull sends an awaken message \(AWAKEN\_MES\) to the set of non-intersecting neighboring nodes \(Nei(f_{j}^{i})-Nei\_Inter_{i}{}^{i+1}\) and activates them. Node \(f_{j}^{i}\) builds a horizontal distance state table \(Horizontal\_Dis(f_{j}^{i},Nei(f_{j}^{i})-Nei\_Inter_{i}{}^{i+1})\) according to the distance between the child elements of \(Nei(f_{j}^{i})-Nei\_Inter_{i}{}^{i+1}\) and their parent nodes \(f_{j}^{i}\) from small to large. Thereafter, a node \(f_{min}^{i}\) is selected with a minimum value \(min(Hor\_Dis)\) on the state table as a depth-adjustment standard. Therefore, the drop-distance \(ver\_dis\) of non-intersecting neighbor nodes set \(Nei(f_{j}^{i})-Nei\_Inter_{i}{}^{i+1}\) is calculated by Equation (14): \[ver\_dis=\sqrt{Rc_{\max}^{2}-\{min\ (Hor\_Dis)\}^{2}}\] (14)  
Figure 7: **(a)** Initial spanning forest and **(b)** Spanning tree consisting of hybrid construction. where \(Rc_{max}\) denotes the maximum communication radius after adjusted and can maintain connectivity between parent node \(f_{j}^{i}\) and its child node. 3. Furthermore, node \(f_{j}^{i}\) submits a permission to its child node \(f_{min}\) and makes it as a parent node of the set of neighbor nodes \(\textit{Nei}(f_{j}^{i})-\textit{Nei}\textit{Inter}_{i}^{i+1}\). Thereafter, \(f_{min}^{i}\) is still used its time marker of parent node \(f_{j}^{i}\). According to the size of the order of \(ID_{A}\) to all neighbor nodes on the same time marker adopting the depth-adjustment method of step (2) to adjust the depth of the other child nodes of \(\textit{Nei}(f_{j}^{i})-\textit{Nei}\textit{Inter}_{i}^{i+1}\), node \(f_{j}^{i}\) sends a sleep message \(SLEEP\_MES\) to its neighbor node and converts them to sleep state. Thereafter, \(T_{mark}=T_{mark}+1\), and the above depth-adjustment process is repeated for \(f_{j}^{i}\) until all \(CH\_node\) is marked, achieving a layer depth adjustment. 4. The horizontal distance state table \(\textit{Hor}\_\textit{Dis}(f_{j}^{i},\textit{Nei}(f_{j}^{i})-\textit{Nei} \textit{Inter}_{i}^{i+1})\) is updated, and node \(f_{min}\) is adopted according to Steps (2) and (3) to achieve the next layer of the depth adjustment of its child node continually. If the node in this time marker drops down to a depth threshold \(d_{th}\), then the depth adjustment on this time marker is completed.