(1) Initialize: Sink. = 0, Nodes. , Nodes. ,
Nodes.br = false
(2) Scenario 1: Determining the of each node
(3) Let
(4) Loop 1: broadcasts in its communication range,
where =
(5) For each in communication range and .br = false Do
(6)   receives the broadcast message
(7)  If then
(8)   
(9)   .br = true
(10)   
(11)   Goto Loop 1
(12)  End if
(13) End for
(14) Scenario 2: Establishment of an E2RP
(15) Let as the first node on the path
(16) Let .=.
(17) While . Do
(18) Find in communication range: .<.
(19) Let =
(20) End while
(21) Let of all nodes on the path to 0
(22) Let of far-sink nodes on the path to 1
(23) Scenario 3: Determining the of each node
(24) For each on the E2RP Do
(25) Let
(26) Loop 2: broadcasts in its communication range,
where =
(27) For each in communication range of Do
(28)   receives the broadcast message
(29)   If then
(30)    
(31)    
(32)    Goto Loop 2
(33)   End if
(34) End for
(35) End for
Algorithm 1: Establishment of energy-efficient routing path.