質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

9回答

1465閲覧

アルゴリズム(論理的思考力)の向上について

hachiware

総合スコア12

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2019/06/07 12:50

編集2019/06/08 01:04

初心者がプログラミングの勉強をするにまず言語の勉強をすると思うのですが、アルゴリズム(ロジカルシンキング)の向上もかなり必要だと思いました。
現役エンジニアのみなさんはどの様にしてアルゴリズム(ロジカルシンキング)の学習をしましたか?
回答よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xebme

2019/06/07 14:04

「倫理的」ではなく「論理的」です。
hachiware

2019/06/08 01:05

訂正いたしました。
m.ts10806

2019/06/10 02:17 編集

回答たくさんついていますが、どのように理解・認識して解決としたのでしょうか。 https://teratail.com/help/question-tips#questionTips4-2 理解を間違えたままプログラミングを続けていくと、恥をかくだけでなく大事故につながります。
guest

回答9

5

確かに、個人認証とプライバシーの問題とか、コンピュータープログラムにまつわる理的な問題も、考えなければいけないのは間違いないです。

とはいえ、そこまでたどり着くのは十分な技量、理的思考を身に着けてからとなります。

(プログラムコードは1文字でも間違えれば正しく動きません。言葉にはよく気をつけましょう)

投稿2019/06/07 13:59

maisumakun

総合スコア146605

javahack, archiver, m.ts10806, hayataka2049, atata0319👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/06/07 14:12

www
maisumakun

2019/06/07 14:17

スクレイピングが代表的ですが、teratailの質疑の中で技術者倫理を考える場面も、時折ありますし。
guest

4

アルゴリズムと言われると私の中で2つ思いつくのでそれぞれ書きます。

(1)データ構造や最短経路算出の解法など、プログラミングコンテストに問題として出るようなアルゴリズム
オンラインジャッジと呼ばれる、アルゴリズムの問題をオンライン上で解いて採点できるサービスを使ってました。
私が使ってたサイトは、PKU(POJ)と呼ばれる海外のサイト。
Welcome To PKU JudgeOnline
日本版で最近話題なのは以下ですかね。
AtCoder

(2)一般的なロジカルシンキング
学習したというより、常日頃から、何故?を考えるように心がけてます。
例えば、「〜に書いてあったから」とか、「・・・が言ってたから」という言葉はなるべく使わないようにして、自分で説明できるようになるまで調べたりしています。

回答内容が期待と違ったら言ってください。

投稿2019/06/07 13:19

aikon_marimo

総合スコア1083

tanat, hachiware, swordone, KojiDoi👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

2

ベストアンサー

常日頃から考えること。
ゴールまでの道筋を具体的に、且つ、効率的に導き出すことだと思っています(しかも結論までを速やかに)。

通勤、通学の経路を例にすると良いでしょうか。
いつもの朝、いつもの道を行くのももちろん悪いとは言いません。その日の体調や気候、道の状況(工事をしているとか信号に引っ掛かるとか)を考慮して最適なルートを決めるのも、論理的思考を育てると思います。

まあ、そういうのは下記のような記事はわんさかあるので、読んでトレーニングしてください。

ひとつ苦言を呈すると、人に聞いてなんとかなるものではなく、自ら意識して積極的に取り組んで経験することで身に付くものなので、「どうやって学習したの?」と質問することはそもそも論理的ではありません。
学校の勉強とは違うので。プログラミングも特にそうですね。勉強したからって仕事で使える技術が身に付くわけではありません。
勉強は自身に対するinput。ですが仕事はほぼoutputの連続です。
「inputをどうやったらoutputにできるか」を考えることも論理的思考に繋がります。
teratailで回答することはまさにinputをoutputにかえる作業ですね。

投稿2019/06/07 20:51

編集2019/06/07 21:09
m.ts10806

総合スコア80888

javahack, hachiware👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

2

何を学ぶにしても、もっと用語を大切に扱わなければ、学習効果は無いです。

投稿2019/06/07 14:12

退会済みユーザー

退会済みユーザー

総合スコア0

tanat, KojiDoi👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1

"アルゴリズムとデータ構造" のような本を読み通すのが良いです。
(https://www.amazon.co.jp/dp/4764901625/ref=sr_1_27)
でもこの本は古いです。新しい類似書籍をさがすと良いです。

計算機プログラムの構造と解釈 とか、アルゴリズムイントロダクション とか。

投稿2019/06/10 13:45

katoy

総合スコア22328

hayataka2049👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1

アルゴリズムについては教科書を買って勉強してください。いくらでも本はあります。ネットに情報も転がっています。


理的思考力については、ちょっと勉強すれば身につくというものではありません。まず、半分くらいは遺伝と幼少期の生育環境で決まると思ってください。残り半分は経験ですが、こちらも一朝一夕には無理です。

訓練したいのであれば、とりあえずたくさん文章を読み書きするのがいいでしょう。ただし、漫然とやってはいけません。読むときは飛躍や破綻がないかを注意しながら批判的に読み、書くときは自分の文章にそういう問題がないかをチェックして直しながら書く……そういうことをする必要があります。

なお、この能力はプログラミングとは直接的にはあまり関係ありませんので、面倒ならパスしても可です。


質問者さんの質問文をざっと見ただけでも、日本語の間違いや論理の飛躍・破綻など、とてもたくさんの粗があります。タイトルで少なくとも3つ以上、第一文で4つ以上、第二文で1つか2つ。自分で見つけられますか?

こういうことに無自覚な状態をまずは直しましょう。

投稿2019/06/07 20:28

hayataka2049

総合スコア30939

KojiDoi👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1

同じ様な質問で良い回答がありましたよ

やはり自分が作りたいものを作りながらコードを書くのが楽しいかつ、続けられると思います。
https://teratail.com/questions/141828

投稿2019/06/07 15:28

編集2019/06/07 15:29
Kazuyuki-T0806

総合スコア326

hachiware👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1

極力他力に頼らず、先ず自力で考える。
考える場合も1パターンではなく、多角的に視点をずらして考えてみる。
多角的にする為に外部から情報を入手したりはする。

投稿2019/06/07 13:33

sazi

総合スコア25430

pepperleaf👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「アルゴリズム」と「ロジカルシンキング」は同じではない
ような気がしないでもないのですが、それはさておき…

例えば受験でもそうでしょうが、こういうのって場数だと思うんですよねえ。
先端技術をキャッチアップしたいのなら、技術論文を読むとかでしょうが、
この場合はそういうのではなさそうな気がします。

となると、他人が書いたプログラムソースを読みまくるのがいいかと。
漫然と読んでも身にならないと思いますので、興味のある分野に
ターゲットを絞った方がいいと思います。
で「こいつはスゲエ!」ってのを見つけたら(成功体験)
やる気も出るってもんですしね、まあ、そんな感じで。

投稿2019/06/07 14:43

takasima20

総合スコア7468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問