<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Lee_algorithm</id>
	<title>Lee algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Lee_algorithm"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Lee_algorithm&amp;action=history"/>
	<updated>2026-05-04T16:01:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Lee_algorithm&amp;diff=4422496&amp;oldid=prev</id>
		<title>imported&gt;Citation bot: Add: s2cid. | Use this bot. Report bugs. | Suggested by Corvus florensis | #UCB_webform 781/2500</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Lee_algorithm&amp;diff=4422496&amp;oldid=prev"/>
		<updated>2023-11-28T12:59:07Z</updated>

		<summary type="html">&lt;p&gt;Add: s2cid. | &lt;a href=&quot;/wiki143/index.php?title=En:WP:UCB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:UCB (page does not exist)&quot;&gt;Use this bot&lt;/a&gt;. &lt;a href=&quot;/wiki143/index.php?title=En:WP:DBUG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DBUG (page does not exist)&quot;&gt;Report bugs&lt;/a&gt;. | Suggested by Corvus florensis | #UCB_webform 781/2500&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Algorithm based on breadth-first search to solve mazes}}&lt;br /&gt;
{{Main|Routing (electronic design automation)}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Lee algorithm&amp;#039;&amp;#039;&amp;#039; is one possible solution for [[maze router|maze routing problems]] based on [[breadth-first search]].&lt;br /&gt;
It always gives an optimal solution, if one exists, but is slow and requires considerable memory.&lt;br /&gt;
&lt;br /&gt;
==Algorithm==&lt;br /&gt;
1) Initialization&lt;br /&gt;
  - Select start point, mark with 0&lt;br /&gt;
  - i := 0&lt;br /&gt;
2) Wave expansion&lt;br /&gt;
  - REPEAT&lt;br /&gt;
      - Mark all unlabeled neighbors of points marked with i with i+1&lt;br /&gt;
      - i := i+1&lt;br /&gt;
    UNTIL ((target reached) or (no points can be marked))&lt;br /&gt;
&lt;br /&gt;
[[Image:lee waveprop.png|thumb|Wave Expansion step]]&lt;br /&gt;
&lt;br /&gt;
3) Backtrace&lt;br /&gt;
    - go to the target point&lt;br /&gt;
    REPEAT&lt;br /&gt;
      - go to next node that has a lower mark than the current node&lt;br /&gt;
      - add this node to path&lt;br /&gt;
    UNTIL (start point reached)&lt;br /&gt;
4) Clearance&lt;br /&gt;
  - Block the path for future wirings&lt;br /&gt;
  - Delete all marks&lt;br /&gt;
&lt;br /&gt;
Of course the wave expansion marks only points in the routable area of the chip, not in the blocks or already wired parts, and to minimize segmentation you should keep in one direction as long as possible.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* http://www.eecs.northwestern.edu/~haizhou/357/lec6.pdf&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* {{Citation&lt;br /&gt;
 |first= Wayne&lt;br /&gt;
 |last= Wolf&lt;br /&gt;
 |title= Modern VLSI Design&lt;br /&gt;
 |year= 2002&lt;br /&gt;
 |pages= 518ff&lt;br /&gt;
 |publisher= Prentice Hall&lt;br /&gt;
 |isbn= 0-13-061970-1&lt;br /&gt;
 }}&lt;br /&gt;
* {{Citation&lt;br /&gt;
 |last=Lee&lt;br /&gt;
 |first= C. Y.&lt;br /&gt;
 |title= An Algorithm for Path Connections and Its Applications&lt;br /&gt;
 |journal= IRE Transactions on Electronic Computers&lt;br /&gt;
 |volume= EC-10&lt;br /&gt;
 |issue= 3&lt;br /&gt;
 |pages= 346–365&lt;br /&gt;
 |year= 1961&lt;br /&gt;
 |doi=10.1109/TEC.1961.5219222|s2cid= 40700386&lt;br /&gt;
 }}&lt;br /&gt;
* {{Citation&lt;br /&gt;
 |last=Rubin&lt;br /&gt;
 |first= F&lt;br /&gt;
 |title= The Lee Path Connection Algorithm&lt;br /&gt;
 |journal= IRE Transactions on Electronic Computers&lt;br /&gt;
 |volume= C-23&lt;br /&gt;
 |issue= 9&lt;br /&gt;
 |pages= 907–914&lt;br /&gt;
 |year= 1974&lt;br /&gt;
 |doi=10.1109/T-C.1974.224054|s2cid= 32651989&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Lee Algorithm}}&lt;br /&gt;
[[Category:Electronic engineering]]&lt;br /&gt;
[[Category:Electronic design automation]]&lt;br /&gt;
[[Category:Electronics optimization]]&lt;br /&gt;
Remzi Osmanli&lt;br /&gt;
&lt;br /&gt;
{{Electronics-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Citation bot</name></author>
	</entry>
</feed>