paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

アルゴリズムとデータ構造を実践的に学べる動画講座が登場【Java】

f:id:paiza:20220323123657j:plain
f:id:paiza:20180910132940p:plainこんにちは。倉内です。

プログラミングをしていると「もっと効率のよいコードの書き方はないだろうか?」「もっと処理を速くできないだろうか?」と思うことがありますよね。

やり方はいろいろありますが、基本的なアルゴリズムや計算量の知識を得ていると、それらを解決する助けになります。

ただ、独学でアルゴリズムを学ぶのは難しそうだと考えている方も多いのではないでしょうか。

そこで今回は、paizaラーニングに新しく追加された動画講座「新・アルゴリズムとデータ構造入門(Java編)」でアルゴリズムとは何かから順に学んでいきましょう。

20220323115105

新講座「新・アルゴリズムとデータ構造入門

受講対象者

アルゴリズムを学習したい方、言語の入門講座を学習してプログラミングの文法が身についてきた方、プログラムの処理速度やメモリの使用量の効率についてより良い方法を理解しながらプログラミングしたい方、paizaのスキルチェックの対策をしたい方など。

公開中の内容(3月23日現在)

01:アルゴリズムとは

20220323112641

02:データ構造とは

20220323112741

本レッスンで身につけられるスキル

まず、アルゴリズムとデータ構造とは何かを学びます。「そもそもアルゴリズムという単語はよく聞くけど何なのかよくわからない…」という方はここから始めるとよいでしょう。

今後は以下の定番のアルゴリズムに関する内容を追加していく予定です。

  • スタック・キュー
  • 計算量の見積りとO記法
  • 線形探索
  • 二分探索
  • 幅優先探索・深さ優先探索
  • 愚直なソート・高速なソート
  • 素数の判定や列挙
  • ユークリッドの互除法を用いた最大公約数と最小公倍数の計算

など

競技プログラミングで問題を解くのが好きな方、将来エンジニアに就職・転職したいと考えている方は知っておいて損のない内容ばかりです。

今後順次公開していきますのでお見逃しなく!

(補足)Javaの基本を学ぶには

本講座はJavaでの解説となります。Javaの基本を学べる体験講座・入門講座も公開していますので、これから学びたいという方はぜひご利用ください。

体験講座は全編無料、入門講座は一部無料です。

20210930174859

20210930175300

アルゴリズムが学べるコンテンツ

paizaラーニングには他にもアルゴリズムに関する学習コンテンツを複数公開しています。

環境構築することなく、ブラウザ上でコードを書いてコード実行ができるため、学んだ内容をすぐ自分で書いて身につけていくことができます。

学習講座「アルゴリズム入門編

FizzBuzz、フィボナッチ数、巡回セールスマン問題といったメジャーなアルゴリズムを動画講座で学ぶことができます。

技術面接*1で出題されるテーマとしてもよく取り上げられます。

20220323120007

プログラミング練習問題「レベルアップ問題集

この練習問題集はやさしい問題から順に解いていくことで、難しい問題(FINAL問題)まで段階的に理解を深めて、最終的には自力で解けるようになることを目指した作りになっているという特徴があります。

ここでいう難易度はpaizaが提供しているプログラミングスキルを測るサービス「スキルチェック」で出題される問題と対応しています。スキルチェックでは、S・A・B・C・Dランクに分けられた問題(Sがもっとも難しい)を決められた時間制限内に解く必要がありますが、レベルアップ問題集では時間制限はありません。

20211201105847

導入におすすめ

アルゴリズムに関する問題集も多く公開しており、まずは導入におすすめなのが「スタック・キューメニュー」「線形探索メニュー」です。これからアルゴリズムに本格的に取り組みたい方は押さえておくとよいでしょう。

解答例・解説のある言語:C++
20211201160519

解答例・解説のある言語:Python3、C#、C++
20211201161324

本格的な問題を解きたい方におすすめ

もう少し本格的なアルゴリズムの問題を解いてみたい方におすすめなのがソートアルゴリズムの問題集です。

解答例・解説のある言語:Python3、Java、C++
20211201160908

解答例・解説のある言語:Python3、Java、C++
20210608164635

さきほど線形探索の問題集を紹介しましたが、もう少し発展した探索に関する問題集もあります。

解答例・解説のある言語:C++
20220301001313

解答例・解説のある言語:C++
20220323121746

さらに中・上級者には「ユークリッドの互除法メニュー」「DPメニュー」「グリッド版ダイクストラ問題セット」などもあります。ぜひ挑戦してみてください!問題集一覧はこちら

まとめ

paizaラーニングで新しく公開された「新・アルゴリズムとデータ構造入門 Java編」の紹介と、その他にもアルゴリズムを学べるコンテンツを紹介してきました。

アルゴリズムはなんとなく難しそうなイメージがあると思いますが(もちろん中には数学的な知識が十分でないと理解できないものもありますが…)基本的なところから順に理解していけば、十分独学ができます。

ただし、インプットしただけではコードを書けるようになるのは難しいため、記事中で紹介した問題集やスキルチェックを利用して、たくさんコードを書いてみてください。





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック

*1:エンジニア職の採用選考で、コードを書いて解くプログラミング問題が出題される試験のこと。もしくは基本的なアルゴリズムやコンピューター原理の基礎を問うことも。コーディングテスト、コーディング試験、技術面接などと呼ばれている。

paizaのおすすめコンテンツ

PPG proken プログラミングゲーム「初恋 プログラミング研究会〜海に行こうよ〜」 PPG Bingo プログラミングゲーム「コードレビューBINGO!!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.