In the next programming quiz, I would like you to print out a table called expand,
which does not exist right now.
What expand is, is a table of the same size as grid
that maintains at what step each node was expanded.
So the very first node over here was expanded times 0.
The second node to expand was this one over here: 1, 2, 3, 4, 5, 6, 7.
In this table, every node that has never been expanded
including all the obstacle nodes should have the value of -1.
Like these guys over here - these are obstacles.
And when a node is expanded, it should get a unique number
that is incremented from expansion to expansion
and counts from 0, in this case, all the way to 22 for reaching the goal stated.
To give you a second example of how the quotes should work,
let me block off the goal by adding 1 over here
so there's an entire items that block the left side from the right side.
Now the switch fails, and in the expansion list you find
that all nodes on the right side have never been expanded.
You get 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
A little warning; this is not unique.
Depending on how you break ties you might expand in a different order,
so I don't expect your table to always look exactly the same way as this one over here.
So for example, you might have 0, 2 over here, and 1 over here
but what should be the case is when there is a full blockage
the right side should just never expand.
次のプログラミングの課題では
expandという表を出力してもらいます
expandはグリッドと同じ大きさの表で
各ノードが
何ステップ目に展開されたかを記録します
最初のノードは0番目に展開しました
2番目のノードはここで
さらに1、2、3、4、5、6、7と続きます
この表では障害物のセルも含めて
展開されなかったノードの値は-1となります
このように-1となっている場所が障害物です
ノードが展開されたときは一意的な値を得ます
ゼロから始まって展開する度に加算され
この例ではゴールに到着するまでに
値は全部で22になります
もう少し説明しましょう
ここを1とすると これでゴールまでの道が塞がり
左側を右側から完全に分離されます
展開は失敗でリストを見てみると
右側のノードには一度も展開していません
値は0から9までになります
最初に言っておきますが
expandリストは一意的ではありません
展開する順序によって変わるので
表はここに表示しているものと
まったく同じになるということはないでしょう
例えば0は同じですが
1と2が入れ替わることもあります
しかし道を完全に塞ぐ障害物がある場合
右側には絶対に展開しないということは同じです
В следующем экзамене по программированию, я хотел бы, чтобы вы распечатали таблицу с именем расширяться,
который не существует в настоящее время.
Что расширить, есть таблица такого же размера как сетка
которая поддерживает на то, чтоб шаг каждого узла был расширен.
Таким образом, самый первый узел здесь был расширен 0 раз.
Второй узел, чтобы развернуть был этот что здесь: 1, 2, 3, 4, 5, 6, 7.
В этой таблице, каждый узел, который никогда не был расширен
в том числе все узлы препятствия должны иметь значение -1.
Как эти парни здесь - эти препятствия.
И когда узел раскрывается, он должен получить уникальный номер
который увеличивается от расширения к расширению
и считает от 0, в данном случае, на всем пути до 22 для достижения цели.
Чтобы дать вам второй пример того, как кавычки должны работать,
Позвольте мне блокировать цели путем добавления 1 здесь
так что всем пунктам, которые блокируют левую сторону с правой стороны.
Теперь переключатель не сработал, и в расширении списка вы найдете
что все узлы на правой стороне никогда не были расширены.
Вы получите 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Небольшое предупреждение, это не уникальные.
В зависимости от того, как разорвать связи вы могли бы расширяться в другом порядке,
так что я не ожидаю что ваша таблица всегда будет выглядеть точно так же, как и здесь.
Так, например, вы могли бы иметь 0, 2 здесь, а 1 здесь
но то, что должно быть в случае, когда есть полный завал
правая сторона должна просто никогда не расширяться.