• ベストアンサー

c言語の勉強方について

punchan_jpの回答

回答No.5

No.1の補足の例題に関してですが、慣れた人なら30分もあれば書けそうな内容 ですよね。エキスパートならもっと速いかも。もっとも、本筋ではないですが 「格納関係を表示すること」って何のことかあいまいですね。「どのノードの どっちに追加したか」を表示すればいいのかな?出題者に問い合わせる必要も ありそうです。 で、問題を見て何を考えればいいかですが、mickmick2さんは、この問題を見 て何を考えますか? データ構造のイメージはわきますか?配列があって、その各要素は名前と左の 番号と右の番号を保持する構造体であるというイメージです。配列の第0要素 が2分木のルートノードです。 また、プログラムの動作途中では、空のノードと使用中のノードが混在してい ることはイメージできますか? データを追加するには、空のノードを探してそこにデータを入れ、どこかのノー ドの左または右として接続するということはイメージできますか? どのように空のノードを探すかの戦略をいくつか思いつきますか? この問題では不要ですが、場合によっては削除することもイメージする必要が あります。空になったノードは次に必要なときに探せるようにしておく必要が あります。 次に、そのデータの操作手順です。 2分木によるソーティングはご存知だとして、新しいデータを追加するには、 まず適切な位置を探さなければいけません。既に途中まで作られた2分木に対 して、追加位置を求めて探索していく手順はイメージできますか? その手順を実現するには、再帰呼出しが素直な方法だと予想できますか? 完成した2分木から結果を出力するには、そのルートノードの左の部分2分木 を出力して、ルートノード自身を出力して、最後に右の部分2分木を出力すれ ばいいという手順は理解されていますか? このように、データがどのように蓄えられるか、それをどう操作していくかと いうイメージを持つことが大切です。紙にも書いてないし、画面にも現れてな いイメージですから、それを頭の中で想像しなければいけません。 例にあげられている程度まで細分化された問題の場合、この程度のことが一気 にイメージできてから、プログラムを書き始めるわけです。このイメージが全 部わいていれば、あとは各言語の文法に合わせていくだけです。 これより大規模な問題になってくると、問題の細分化が必要でしょう。また状 況によってデータ構造が与えられているか新たに設計するかによっても、やり 方は異なります。

関連するQ&A

  • C言語の勉強方法

    最近プログラミング言語という存在を知った程のとにかく初心者の私ですが、独学でC言語を勉強しようと思っています。 しかし参考書を買って始めてみたのはいいのですが、難解なことばかりで直ぐに行きづまってしまいます。 独学で勉強された経験のある方、どのような勉強方法をすればよいかアドバイスお願いします。

  • プログラミング(C言語)を勉強するに当たって・・・

    何も知らない完全な初心者です。 現在、理学部の大学1年生です。(情報系ではありません) 目的としては、ゲーム作成。および、大学の研究などで自分が必要とするソフトを作ること。 プログラミングについて独学で勉強したいのですが、現在、C言語からはじめてC++を勉強しようと思っています。 そこで、いくつか質問をしたいのです。 (1)言語を学ぶ以前に学ぶべきことは? (2)目的に対する言語は適当であるか? (3)また、どのソフトがお勧めであるか?(学生なので2万以内で済ませたいと思います。) プログラミングをする際に読んでいたほうが良い本を 教えていただけるとありがたいですm(_ _)m

  • C言語の勉強にあたって

    今からC言語を勉強していく人から質問されたのですが、勉強にあたって、Cのアプリケーション(コンパイラ等)なしに実際のプログラムの動きを勉強する方法はないでしょうか? これでは漠然とした書き方ですが、例えば、インターネットのHP上でプログラミング→コンパイル→実行をシミュレーションできるようなHPはないでしょうか? こういうHPがあると、とりあえずインターネット環境とC言語の参考書があれば簡単に勉強できると思うんです。 そのようなHP、ありましたら教えてください。 何ヶ所かあるようでしたら、使い方が難しくない(初心者向け)ところが良いです。 よろしくお願いします。

  • C言語を勉強したいです。

    C言語どころか、プログラミングを触った程度でしか 勉強したことがないのですが、本格的に勉強したいと思っています。 でも、勉強をし始めたのはいいのですが、実際のC言語の ソフトを持ってないのですが、そのソフトは、どうやって手に入れれば いいんでしょうか。タダでダウンロードできる・・なんてことは できないんでしょうか?簡単な質問かもしれませんが、もしよければ 教えてください。よろしくお願いします。

  • C言語を勉強する為に

    全くのプログラミングの初心者です。C言語を勉強したいと思っています。 まず、何が必要なのでしょうか?参考書はもちろんですがプログラミングを勉強するにあたって最低限必要なものを教えて頂ければと思います。できればフリーソフトが望ましいのですが…。 それと、C言語とJAVAはどちらが入りやすいのでょうか。

  • JavaとCのどっちがいい???

    こんにちは。 プログラミングを始めようと思うのですが、 言語はどれがいいのかよく分からないし、プログラミングという言葉も抽象的でいまいちパッとしません。 今人気なのはJavaとCと聞きました。 独学でもできますか? 将来、パソコンをさわる仕事につきたいのですが、プログラミングの他に何かありますか。 お願いします。

    • ベストアンサー
    • Java
  • C言語の勉強方

    基本情報の試験の言語がCで受験しなくてはいけないんですが、独学で0からのスタートなので難しくて参ってます。2週間かけて、基礎の部分を一通り勉強して、前半部分は理解できたんですが、後半の 構造体、ポインタ:なんとなく理解 ユーザ関数:理解不能 といった感じなので、応用問題とかになると全然分からなくて参ってます。 C言語の勉強の仕方や初心者でも分かりやすく理解できる参考書などは無いでしょうか??教えて下さい。 1週間シリーズがいいと聞いたんですが、あれはどうなんでしょうか??

  • C言語

    今、C言語のプログラミングについて勉強してます。 それで、printf文の中にアスキーアートを入れようとしたのですがエラーが出てしまいます。 おそらくAAの中に:や()が使われているからだと思います

  • Xcodeで0からC言語でプログラミング

    今まで全くプログラミングをしたことがなくHTMLのタグ打ちくらいしかできないのですが、Xcodeで0からC言語などでプログラミングをしたいと考えています。  とりあえず本などで勉強しながら独学でマスターしたいのですが、こんな初心者でも理解できるかかなり不安です。  まず何からしていいかも分かりませんので是非アドバイス宜しくお願いします。

  • C言語のコンパイラ、リンカ

    はじめまして。 独学でC言語の勉強をしています。 そこで、実際に簡単なプログラミングをしてみたいのですが、フリーのコンパイラ、リンカはあるでしょうか? 知っている方がいました宜しくお願いします。