def breadth_first_search(adj_matrix, source_index, end_index)
node_queue = [source_index]
puts "#{source_index} stored into queue \n"
loop do
curr_node = node_queue.pop
puts "#{curr_node} popped \n"
return false if curr_node == nil
return true if curr_node == end_index
children = (0..adj_matrix.length-1).to_a.select do |i|
adj_matrix[curr_node][i] == 1
end
puts "children: #{children}"
node_queue = children + node_queue
puts "node_queue: #{node_queue}"
end
end
Ich kann verstehen, was es konzeptionell tut, aber die tatsächliche Syntax ist, was ich nicht verstehe. Ist die Child-Variable ein Array, das Elemente mit einer Schleife speichert?Was bedeutet dieser Codeschnipsel im Child-Variablenfeld?