Tidy up structure of briefcase
I had a spare fifteen minutes and decided that I should tidy up my monorepo. The work of tidying up is not finished; this is a small step in the right direction. TL;DR - Created a tools directory - Created a scratch directory (see README.md for more information) - Added README.md to third_party - Renamed delete_dotfile_symlinks -> symlinkManager - Packaged symlinkManager as an executable symlink-mgr using buildGo
This commit is contained in:
		
							parent
							
								
									5ec5a6da8c
								
							
						
					
					
						commit
						fabf1c9334
					
				
					 89 changed files with 53 additions and 41 deletions
				
			
		
							
								
								
									
										26
									
								
								scratch/deepmind/part_one/dijkstra.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								scratch/deepmind/part_one/dijkstra.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| # Doing a practice implementation of Dijkstra's algorithm: a priority-first | ||||
| # search. | ||||
| from heapq import heappush, heappop | ||||
| 
 | ||||
| 
 | ||||
| class Node(object): | ||||
|     def __init__(self, value, children): | ||||
|         self.value = value | ||||
|         self.children = children | ||||
| 
 | ||||
| 
 | ||||
| def shortest_path(a, b): | ||||
|     """Return the shortest path from `a` to `b`.""" | ||||
|     q = [] | ||||
|     seen = set() | ||||
|     heappush((a.value, a, [a]), q) | ||||
| 
 | ||||
|     while q: | ||||
|         d, node, path = heappop(q) | ||||
|         if node == b: | ||||
|             return path | ||||
|         seen.add(node) | ||||
|         for child in node.children: | ||||
|             if child not in seen: | ||||
|                 heappush((d + child.value, child, path + [child]), q) | ||||
|     raise Exception("Path between nodes A and B does not exist.") | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue