Skip to main content
. 2022 Nov 23;22(23):9105. doi: 10.3390/s22239105
Algorithm 2 Top–Down Approach (TD)
  • 1:

    Input: V, C, L, lmin, nmax

  • 2:

    Output: Vcon

  • 3:

    M← Select all vi,cj∈{L|lvi,cj≥lmin}

  • 4:

    Q← Select distinct cj from M

  • 5:

    Vcon←{}

  • 6:

    while True do

  • 7:

        K← Select all cj,(count(vi) as nv)∈{M|nvz>nvz+1}

  • 8:

        if K≠{} then

  • 9:

            si←{k1|k1 is the first cj of K}

  • 10:

            N← Select (vi,cj)n∈{M|(cj=si)∧(n∈{1,2,..,nmax})∧(dist(vi,cj)≤sir)∧((lvi,cj)z>(lvi,cj)z+1)}

  • 11:

            M←M−N

  • 12:

            Q←Q−{si}

  • 13:

            Vcon←Vcon∪{<vi,si,lvi,si>∀vi∈N}

  • 14:

        else

  • 15:

            exit

  • 16:

        end if

  • 17:

        if Q={} then

  • 18:

            exit

  • 19:

        end if

  • 20:

    end while