**Lecture 10 - Dynamic Programming - YouTube**

**Lecture 10 - Dynamic Programming - YouTube**

**Lecture 13: Dynamic programming: overlapping subproblems, optimal substructure | CosmoLearning Computer Science**

'via Blog this'

**Optimal substructure - Wikipedia, the free encyclopedia**

'via Blog this'

**Redesigning Google: how Larry Page engineered a beautiful revolution | The Verge**

'via Blog this'

**Needleman-Wunsch Algorithm for Global Sequence Alignment in Python - CodesOfMyLife**

'via Blog this'

**Sequence alignment - Wikipedia, the free encyclopedia**

'via Blog this'

**python - Breadth-first search trace path - Stack Overflow**

graph = {

'1': ['2', '3', '4'],

'2': ['5', '6'],

'5': ['9', '10'],

'4': ['7', '8'],

'7': ['11', '12']

}

def bfs(graph, start, end):

# maintain a queue of paths

queue = []

# push the first path into the queue

queue.append([start])

while queue:

# get the first path from the queue

path = queue.pop(0)

# get the last node from the path

node = path[-1]

# path found

if node == end:

return path

# enumerate all adjacent nodes, construct a new path and push it into the queue

for adjacent in graph.get(node, []):

new_path = list(path)

new_path.append(adjacent)

queue.append(new_path)

print bfs(graph, '1', '11')"

'via Blog this'

**A New Tune Tuesday - Episode 7 - YouTube**

'via Blog this'

**Deploying Node.js with systemd | Ruben Vermeersch (rubenv) - The Life of RubenV**

'via Blog this'

**New HTML Parser**: The long-awaited libxml2 based HTML parser
code is live. It needs further work but already handles most
markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!