【B試験_アルゴリズム】02.基本的なアルゴリズム一覧 | 基本情報技術者試験

Поделиться
HTML-код
  • Опубликовано: 26 авг 2024

Комментарии • 67

  • @kihonzyouhou
    @kihonzyouhou  2 года назад +1

    ✅講義資料:note.com/kihonzyouhou/n/n451b6df325f5
    ▼▼再生リスト▼▼
    アルゴリズムコース
    ruclips.net/video/GLrlw9yOcEg/видео.html
    基本情報技術者試験の概要(※最初にご覧頂くことをオススメしています。)
    ruclips.net/p/PLEuyFWEF8u0OhszLVxc38rmwgjfWX6wzG

  • @user-bc4oh3ug8c
    @user-bc4oh3ug8c Год назад +21

    過去問やってて最短経路出す問題はレベルが段違いだと感じました
    分かりやすくまとめられてて、感動しました

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      お褒めの言葉ありがとうございます!
      アルゴリズムは人によって得意不得意な問題が分かれますからね...
      ただ、問題の難易度が掴めたということはアルゴリズムの理解が深まったということなので、その調子で頑張って下さい^^

    • @akiper
      @akiper Год назад +1

      初めて最短距離の問題を解いた時本当に分からな過ぎて、辛いだけで涙が止まりませんでした。その頃分からないままやっていたので、福嶋ゼミを活用してやってました。福嶋ゼミでも分からないことが多かったです。来年また基本情報を受験します。宜しくお願いいたします

  • @toeickosotu
    @toeickosotu 11 месяцев назад +4

    昇順と降準の説明までしてくださってるところ好き。

  • @Eric-je8ql
    @Eric-je8ql Год назад +10

    クオリティがかなり高く、良い復習になりました。

  • @user-ge7je9fz1b
    @user-ge7je9fz1b Год назад +2

    今日午前と午後とも79点近くで無事合格しました、復習の時動画を拝見しました。
    わかりやすい動画ありがとうございます。本当に助かりました。

    • @kihonzyouhou
      @kihonzyouhou  Год назад +1

      おめでとうございます🎊
      お役に立てたようで嬉しいです!こちらこそ素晴らしいご報告ありがとうございます🙇‍♂️

  • @mitsukim9288
    @mitsukim9288 11 месяцев назад +4

    既出かもですが…
    ハッシュ探索法で、格納アドレスが競合するのは「シノムニ」ではなく「シノニム」じゃないでしょうか💦
    ご確認お願いします。

  • @user-be1lt8wq2l
    @user-be1lt8wq2l 9 месяцев назад

    質問にお応え頂きましてありがとうございます!試験が近いので頑張っていきます!

  • @user-og5gq8xc2k
    @user-og5gq8xc2k 11 месяцев назад +1

    配列(Listで表される)
    ↕︎
    リスト
    (データを数珠繋ぎで管理するやつ、ポインタにメモリアドレスが書かれている)

  • @iryuu1973
    @iryuu1973 Год назад +1

    とってもわかりやすいです。ありがとうございます。👍👍👍

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      こちらこそコメント頂きありがとうございます!!

  • @user-cb1by1dr2p
    @user-cb1by1dr2p 2 года назад +12

    僕の勘違いだったら申し訳ないんですけど、10:18シノムニではなくシノニムじゃないですか?

    • @kihonzyouhou
      @kihonzyouhou  2 года назад +7

      ご指摘ありがとうございます!シノニムですね、大変失礼しました...(僕も間違えて覚えていました、、お恥ずかしい)

  • @pday
    @pday 11 месяцев назад +1

    いつも動画ありがとうございます。選択ソートでは、配列の中から最大値 or 最小値を選択するということですが、コンピュータは人間のように配列全体を一目見てその値を探すことができないと思いますので、そのためにはバブルソートなどを用いて、最大値 or 最小値を探し当てるという理解でよいでしょうか?

  • @mikancookies
    @mikancookies Год назад +1

    【質問】いつもわかりやすい動画をありがとうございます!
    質問なのですが、17:59にて一番小さい値を根に移動させる際、
    ①同じ葉である「3」ではなく「12」を移動させる理由はなんででしょうか。
    ②また小さい値をいったん根に持っていく理由はなんででしょうか。
    少し理解しきれないところがあって教えていただきたいです!

    • @kihonzyouhou
      @kihonzyouhou  Год назад +1

      こちらこそありがとうございます!ご返信が遅れてすみません。
      前提が混乱されている気がするので説明します。
      ここでは「配列を木構造に入れる」「木構造をヒープ木にする」という2つのすsテップがあります。
      木構造はあくまで、画面右にあるように、枝と節でデータを保持することです。木構造の中で特殊な性質をもつ1つがヒープ木です。
      ①同じ葉である「3」ではなく「12」を移動させる理由はなんででしょうか。
      →これは最初のステップのことで、単に配列を木構造に機械的に移しているだけです。配列のデータ左から順に木構造に入れていきます。入れる際は、木構造の上から順に、高さが同じ場合は左から順に入れていきます。
      ②また小さい値をいったん根に持っていく理由はなんででしょうか。
      →「小さい値をいったん根に持っていく」とは言い換えると、機械的に入れた木構造をヒープ木にしているということです。2番目のステップのことですね。
      ヒープソートはヒープ木を作った上で並び替えるアルゴリズムなので、一旦ヒープ木をはさみます。
      なんでヒープ木を挟むのかは僕もよく分かっていませんが、恐らく場合によっては、ヒープ木にするとプログラムを書く際とかに色々都合が良いんだと思います。

    • @mikancookies
      @mikancookies Год назад

      ご返信いただきましてありがとうございます。
      少しずつ理解が深められたと思います。
      ①についてですが、配列上の最後(右側)を配列上の最初に(左側)に一旦持ってくということで、あくまで配列上の最後の値を移動させるということが行われているという理解で大丈夫でしょうか。(うまく伝えられてますかね?💦)
      ②先ほどの①の内容と被るかもしれませんが、あくまで小さい値を持っていくというよりかは、配列上の最後を移動するため、必然と小さい値を移動するということになるという解釈でも大丈夫でしょうか。
      重ねての質問・確認ですみません( ;∀;)

    • @kihonzyouhou
      @kihonzyouhou  Год назад +1

      @@mikancookies さん
      ①:ご質問意図が理解できていないのですが、やっていることは「左の配列のデータを右の木構造に移す」というシンプルなことです。
      ②:こちらも意図が掴めないためお答えできかねますが、あまり深く考えすぎず、並び替えのためにヒープ木を作っているという原理を抑えれば十分だと思います!

    • @mikancookies
      @mikancookies Год назад

      @@kihonzyouhou
      うまく伝えられずすみません😅
      なかなか難しく、皆さんが見えてるところが自分には見えなくて焦りますが、他の教材も活用しながら理解を深められるように頑張ります!ご返信どうもありがとうございました😊

  • @user-ul5jf9bw5n
    @user-ul5jf9bw5n Год назад

    マージソートの説明を聞いていて思ったのですが、
    データが一つになるまで分割し、整列しながら戻していくことができるのなら、
    データを分割せずに初めから並び替えればいいと思うのですが、なぜマージソートという整列方法があるのでしょうか?
    18:59 で、二つの配列を四つに戻すことができるなら、分割する必要ないのでは?と思いました。
    見当違いな疑問になっていたら申し訳ございません。

    • @kihonzyouhou
      @kihonzyouhou  Год назад +2

      ご質問ありがとうございます!
      仰る通り初めから並び替えてもOKです。(それが説明しているバブルソートや選択ソートです)
      ただし、データ量が多いと処理回数が膨大になるので、マージソートという手法が使われます。

  • @mocchan1876
    @mocchan1876 2 года назад

    いつもわかりやす動画を本当にありがとうござます!
    質問なのですが、最初の動画ですーさんが仰っていた試験対策範囲は「栢木先生の基本情報技術者教室」ではどれに当たりますか。
    例えば表計算なのどです。

    • @kihonzyouhou
      @kihonzyouhou  2 года назад

      こちらこそいつもご視聴ありがとうございます^^
      基本情報技術者教室やキタミシキITイラストなど有名な書籍は午前問題の対策用書籍です!
      表計算やこの動画のアルゴリズムは午後問題であり、基本情報技術者教室では特に触れられていない内容ですね。

    • @mocchan1876
      @mocchan1876 2 года назад

      @@kihonzyouhou 返信ありがとうございます!
      なるほどそうなのですね!確認不足で申し訳ありません。午後問題の対策はすーさんの動画を参考にさせていただきます🙇‍♂️

    • @kihonzyouhou
      @kihonzyouhou  2 года назад

      いえいえ、とんでもないです!
      午後問題も網羅出来ているわけではないので、適宜過去問など使いながら勉強頂けると幸いです🙇‍♂️

  • @ty-rv9qk
    @ty-rv9qk Год назад

    ヒープソートについて質問させてください!木構造の形はどのようにして決まりますか?最後のデータが右下側に伸びているのには意味がありますか?またデータの個数が10個とかの場合、1番下のリーフはどのノードを親に持ってもいいのでしょうか?質問が長くなり申し訳ありません。

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      コメントありがとうございます!以下回答します。
      >最後のデータが右下側に伸びているのには意味がありますか?
      ⇒特に意味はありません。見かけ上右に伸びていますが、データは1個しかないので、見かけ上左に伸びていても同じ意味となります。
      >データの個数が10個とかの場合、1番下のリーフはどのノードを親に持ってもいいのでしょうか?
      ⇒基本的に左の節から順に親を持たせます。

    • @ty-rv9qk
      @ty-rv9qk Год назад

      @@kihonzyouhou ありがとうございます!今後も参考にさせて頂きます!

  • @YubiSack
    @YubiSack Год назад

    ヒープソートの14の位置って左側じゃなかったでしたっけ?

  • @o.manchas
    @o.manchas Год назад +1

    いつもお世話になっております。
    質問なのですが、クイックソートに関しまして基準値とは位置的に真ん中の値という認識で合ってますか?

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      いえ、データの大きさが真ん中くらいの値になります!

    • @o.manchas
      @o.manchas Год назад

      @@kihonzyouhou ありがとうございます。では、二分探索法に関しては位置的に真ん中の値を利用する認識で合ってますか?

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      @@o.manchasさん
      仰るとおりですが、二分探索法はデータが昇順/降順になっていることが条件なので、位置的に真ん中=大きさ的にも真ん中です。

    • @o.manchas
      @o.manchas Год назад

      @@kihonzyouhou なるほどです。スッキリしました。回答ありがとうございました。

  • @tansyoo
    @tansyoo 9 месяцев назад

    10:18 シノニムですね

  • @ph4746
    @ph4746 Год назад +1

    それぞれのアルゴリズムの計算量ってどうやって求められますでしょうか?😊

    • @kihonzyouhou
      @kihonzyouhou  Год назад +1

      こちらの動画で説明しております!
      ruclips.net/video/oHTq8x5KaOg/видео.html

    • @ph4746
      @ph4746 Год назад

      @@kihonzyouhou ありがとうございます🙌

  • @user-wn5kr2ge8l
    @user-wn5kr2ge8l Год назад

    質問です!
    今基本情報の勉強をしてて、本動画大変参考にさせてもらってます
    並べ替えについて質問なんですけど、
    感覚的な質問になってしまい恐縮なんですが、ヒープ木にして並び替える方法があったじゃないですか
    なんだか配列に直したりヒープ木にしたり、配列に値を入れたかと思えばまたヒープ木を作ったり、
    まどろっこしいようなやり方に思えます
    このヒープ木の並び替えはどういった場面で使われるんでしょうか?

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      コメントありがとうございます!すみません、ぼくもヒープソートを実際に活用した経験がなく、正直優位性はあまり分かっておりません🙏
      ただし、手法として確立されている以上、何かしらの処理と相性が良く、場面によっては使用されるのだと思います。

  • @user-zf5ix7tl3x
    @user-zf5ix7tl3x Год назад

    サーティファイ二級一部に合格し残すは午前免除試験とB試験だけになった今、アルゴリズムの理解が乏しい事に気づきました、この講座は基礎の知識がない状態からでも講座を重ねて行くごとにB試験で出題される問題を解くレベルになれますでしょうか

    • @kihonzyouhou
      @kihonzyouhou  Год назад

      なれます!

    • @user-zf5ix7tl3x
      @user-zf5ix7tl3x Год назад

      @@kihonzyouhou 返信ありがとうございます、頑張りたいと思います

  • @user-lh1lx9xx2r
    @user-lh1lx9xx2r 2 года назад +1

    とてもわかりやすい解説動画ありがとうございます!
    シェルソートのところで質問させていただきたいのですが
    最初は間隔4からスタートで次が間隔3ではなく、間隔2になった理由を教えていただけないでしょうか🙇‍♂?

    • @kihonzyouhou
      @kihonzyouhou  2 года назад +1

      こちらこそコメントありがとうございます!
      画面の例だとデータが8個なので、3個区切りに取り出すより、2個区切りで取り出した方がやりやすいってくらいの単純な理由です。深い意図はありません!

    • @user-lh1lx9xx2r
      @user-lh1lx9xx2r 2 года назад

      @@kihonzyouhou
      なるほど!ありがとうございます!
      そこらへんの判断はアルゴリズムの問題を解く練習をしていくと自分でできるようになっていきますでしょうか??

    • @kihonzyouhou
      @kihonzyouhou  2 года назад +1

      自分で判断するというより、そういったアルゴリズムの挙動は問題文に記載されているのでそれを読み解けるようになれば大丈夫です^^(動画では例として説明してるだけです〜)

    • @user-lh1lx9xx2r
      @user-lh1lx9xx2r 2 года назад

      @@kihonzyouhou
      ご丁寧な対応ありがとうございます!
      すーさんの解説とてもわかりやすいので社内や生徒にも周知させていただきます🙇‍♂
      ありがとうございます!

  • @user-cp8pb5ek6u
    @user-cp8pb5ek6u Год назад

    お世話になります。
    「リスト」について質問があります。
    動画中に御説明いただいた「ポインタ」の内容を言い換えると、「次のデータのメモリアドレスを教えてくれる存在(例:図中のデータAの場合データBのメモリアドレスを表示する存在)」という認識で問題ありませんでしょうか。
    恐縮ですが御回答いただけますでしょうか。

    • @kihonzyouhou
      @kihonzyouhou  Год назад +1

      まさにご認識の通りです!

    • @user-cp8pb5ek6u
      @user-cp8pb5ek6u Год назад

      @@kihonzyouhou
      承知いたしました。
      ありがとうございます。

  • @user-be1lt8wq2l
    @user-be1lt8wq2l 9 месяцев назад

    探せないです…URL頂けましたらありがたいです。表をずっと眺めて終わるのは悔しいです。

    • @kihonzyouhou
      @kihonzyouhou  9 месяцев назад

      各分野再生リストで纏めているので、今後はそちらからご参照下さい。
      ruclips.net/p/PLEuyFWEF8u0PlzYNtyJBGrbN-0IbJe-Ij

    • @user-be1lt8wq2l
      @user-be1lt8wq2l 9 месяцев назад

      ありがとうございます。時間掛けても進歩がなく行き詰まってます。
      頂きましたURLに、例えばかやのき先生の、配列分野のP168からp169確認問題の2とか3のような、アルゴリズムの表の読み方も内容にありますでしょうか?

  • @user-pn7yy5wo2j
    @user-pn7yy5wo2j Год назад

    とても分かりやすく助かっています。
    質問なのですが、2分探索法の中央値を決める際、残りデータが偶数の場合、中央値の候補は2つあるかと思うのですが、この場合どちらかを選ぶルールなどあるのでしょうか?

    • @kihonzyouhou
      @kihonzyouhou  Год назад +1

      明確なルールは無いはずです!なので問題に関連する場合は問題文で指定されるかと。

    • @user-pn7yy5wo2j
      @user-pn7yy5wo2j Год назад

      @@kihonzyouhou なるほど!あちこち検索しても出てこなかったのでとても助かります!!
      いつもありがとうございます!!

  • @user-be1lt8wq2l
    @user-be1lt8wq2l 9 месяцев назад

    いちばん教えてほしいところが載ってない

    • @kihonzyouhou
      @kihonzyouhou  9 месяцев назад

      ご期待に添えず申し訳ございません。

    • @user-be1lt8wq2l
      @user-be1lt8wq2l 9 месяцев назад

      基本交換法、配列とか、いろんな説明があってわかりやすいですが、理屈はわかりますが、アルゴリズムの表の問題になるとさっぱり。読み方とか、トレース表と照らしても全然さっぱりで。

    • @kihonzyouhou
      @kihonzyouhou  9 месяцев назад

      @@user-be1lt8wq2l アルゴリズムの読み方は次回の動画で説明しているので、ご確認下さい。

  • @yushim7958
    @yushim7958 Год назад +2

    クイックソートのところ降順になってない?

    • @kihonzyouhou
      @kihonzyouhou  Год назад +4

      コメントありがとうございます!確認しましたが、昇順になっているかと....

    • @yushim7958
      @yushim7958 Год назад +1

      @@kihonzyouhou
      あれ?すみません、認識が逆になってました。