View full-text article in PMC Sensors (Basel). 2025 Aug 6;25(15):4838. doi: 10.3390/s25154838 Search in PMC Search in PubMed View in NLM Catalog Add to search Copyright and License information © 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). PMC Copyright notice Algorithm 1: Multi-Hop Path Latency Calculation Input: source vehicle vn , target RSU rm , task data size Di Output: best path P* , minimum latency L* 1: Initialize L* ← ∞, P* ← None 2: Raccess ← Get all RSUs directly connected to vehicle vn 3: Create RSU-only subgraph Gr 4: for each raccess in Raccess do 5: Lv2r ← Get V2R Latency (vn, raccess, Di) 6: if raccess is rm then 7: Lpath ← Lv2r 8: Pc← [vn, rm] 9: else 10: Define edge weights in Gr as R2R latency: 11: for each edge (ru,rv) in Gr do 12: W (ru,rv ) ← Get R2R Latency (Di,ru,rv ) for all edges in Gr 13: end for 14: Pv2r ← Shortest Path (Gr, source = raccess, target = rm, weights = W) 15: if Pv2r exists then 16: Lr2r ← Calculate total latency of Pv2r using weights W 17: Lpath ← Lv2r + Lr2r 18: Pc← [vn] ⊕Pr2r // ⊕ is path concatenation 19: else 20: continue 21: end if 22: end if 23: if Lpath< L* then 24: L* ← Lpath 25: P* ← Pc 26: end if 27: end for 28:return P* , L*