問題解決課題

2303 ワード

私はちょうど1週自己評価を終えて、私がそれを取り扱う方法について良い感じがします.私はツリーマップ機能を解決するために私たちに与えられた最初の30から40分クラスの時間を取って、それを完全に擬似コードに使用しました.それは私が私が改善する必要があることに気づいたスキルです-それは私が前に練習したことがない何かだから驚き.ホワイトボードはもう一つの問題解決スキルであり、私は改善に懸命に働くつもりです.
私が週1から取った最大のレッスンのうちの1つは故意にコーディング挑戦に接近することの重要性です.より大きな絵について、そして、それから、「通訳として行動すること」のような活動を通して思慮深く考えてください.
私は今、これらのスキルを実践している-彼らは解決するためにコーディングの問題に直面するときに私は感じる“即時性/緊急性”のかゆみを満たすことはありませんが-彼らは最終的に長期的に私のチョップと私の問題解決能力を構築します.そして、彼らは来るべきであるより大きな絵挑戦(アプリケーションのような)を写像するとき、重要な技術であるつもりです.
一言で言えば、より速く動くために、私は減速しようとしています.
私は私たちの評価のコーディングチャレンジを楽しんだ.最初の1行目の擬似コードからテストに合格するまで約3時間かかりました.しかし、問題を解決して、必要なすべての機能を実行する前に1時間の恥ずかしがり屋、私はeureka瞬間を持ちました.私は最初の計画セッションでチャーターしていたコースが少し離れていたが、決定的に、私は何を変更する必要がある知っていた.
私たちのタスクは、データプロパティとChildrenプロパティの配列を含む非常に裸のツリー構造を構築することでした.我々は、関数を作成することでした.addchildと.その2番目は元のツリーの構造を模倣した新しいツリーを返したが、その値は関数のコールバックによって変更された.
これはaddchildに書いたものです.
Tree.prototype.addChild = function(value){

  var newTree = new Tree(value)
  this.children.push(newTree)

  return newTree
}
したがって、値をとり、その値を格納するツリーノードを作成し、それを元のツリーの子として追加します.
これは私に意味をなした.そして、それはまだ意味をなします!しかし、私のマップ機能の再帰的なケースでそれを使用するとき、私は問題に出くわしました.すべてのノードの上でループするとき、私がすることができたすべてはそうでした.元のノードにaddchild(子を追加).したがって、再帰は以下のように本質的に見えます.recursiveFunction(root.addChild)これは、以下のように再帰的に生成されます:
ルートノード.addchild ( RootNode . addChild ( RootNode . addchildなど));
したがって、関数は、構造体全体を横断し、それぞれの子プロセスツリーに対して与えられたコールバック関数を正しく適用することができますが、生成された新しいツリーのルートノードにすべての新しく生成された子を追加します.
私は立ち往生した.私は理にかなったaddchild関数を書きました、そして、したがって、問題は私が写像を適用していた方法で、地図機能のどこかで横たわっていなければなりませんでした.
私がしたかったのは、同じルートノードに再帰を適用し続けることではありませんでしたが、ルートの子ツリーのいずれかに遭遇するたびに、ルートから独立して新しいノード(木)を作成しました.
このような
var newtree = new Tree
rootOfCopy.addChild(newTree)
recursiveFunction(newTree)
しかし、私たちのaddchild機能が木オブジェクトを受け入れなかったので、私はそれをすることができませんでした.それは値を取り、独自のツリーオブジェクトを作成しました.
まあ、それを変更する時間だった.そして、私がしたならば、すべては起こりました.
それは今までのコーディングチャレンジの解決に私の最大の課題です.早い段階で重要な仮定をすることは、後に難問を引き起こす間違った仮定です.確かに、私はエラーを認識し、仮定を修正し、すぐに答えを閉じます.
どのように私は初期の失策を避けることができますか?私は確信していません、しかし、私は練習が私をそこで得ると思っています.多分、それはより強力な全体的なコーディングと問題解決直観を構築しています.多分、パターンがオブジェクト設計か再帰ループであるかどうか、問題のパターンを認識しています.多分それは私自身の思考のパターンを認識している.
私は自分自身の道から抜け出すのを楽しみにしています.そして、私のあまりにも多くの現在の解決法のプロセスからのショートカットをします.