「アルゴリズム」の混乱にどう向き合うか?

「アルゴリズム」の混乱にどう向き合うか?

「アルゴリズム」の問題について困惑している人から手紙を受け取りました:

私はネットワーク専攻なのでソフトウェアに関わるつもりはないのですが、JAVAに興味があります。開発をしたいです。開発で使うものはアルゴリズム(数学関係とか)とは関係ないようです。全部パッケージ化されていて…

「アルゴリズム入門」をまだ学ぶ必要がありますか?

返答は次のとおりです。

1. パッケージされているものが多い!まだアルゴリズムを学ぶ必要がありますか?

回答: はい、簡単なプログラムを開発している場合は、パッケージ化されたメソッドを使用できますが、実行したいことすべてが他のプログラムによってパッケージ化されているわけではありません。データベースに対して「追加、削除、変更、クエリ」の操作のみを実行する場合、基本的にアルゴリズムを勉強する必要はありません。

2. この「アルゴリズム」とは一体何でしょうか?

回答:データベースのようなプログラムを自分で作ったらどうなりますか? MySQL、SQL-Server、Oracle などの既成のデータベース プログラムがあるので、それを直接使用すればいいのに、なぜそうする必要があるのか​​と言う人もいるかもしれません。

私は言いました: なぜ私たち自身でデータベースを作れないのですか?

さて、自分で Web サーバーを作ってみませんか?

忘れてください、これらはすべて難しいです。配列内で簡単なデータ比較プログラムを作成し、新しい配列を形成するのはいかがでしょうか?

この開発タスクを JDBC を呼び出して完了する方法しか知りませんか?

定義してみましょう:

アルゴリズムは、実際には配列やその他のデータを「操作」する最も単純かつ最速の方法です。「アルゴリズム」の能力によって、プログラムの実行効率が決まります。

いわゆる「トラブル」とは、配列やその他のデータに対するさまざまな計算処理のことで、この処理は必要に応じて完了します。

3. 「アルゴリズム」って怖いですか?

回答: 「アルゴリズム」という言葉を聞くと苦手意識を持つ学生が多いのですが、本当に怖いのでしょうか?全然怖くありません。ソフトウェア開発は技術ですが、芸術でもあります。もっと練習すれば怖くなくなるでしょう。

4. 「アルゴリズム」を「アルゴリズム」のために使わない

「アルゴリズム」を練習するために、多くの学生はわざわざ練習する「アルゴリズム」を探しますが、最後まで練習した後でもまだ混乱しています。「アルゴリズム」は具体的にいつ使うのでしょうか?まだ目まいがします。これは「アルゴリズム」と実際のアプリケーションの間に断絶があるためです。

覚えておいてください: どのプログラムにも意味があります。意味のないプログラムはありません。「アルゴリズム」のために「アルゴリズム」を使用しないでください。どの「アルゴリズム」も実用的なアプリケーションと組み合わせる必要があります。

5. 戻って質問してみましょう:

2 つの配列と SQL ステートメントを受け取って配列を返すメソッドを作成してみてください。

返される配列は、SQL ステートメントで指定された戻り条件の結果です。

試してみてください。このプログラムを作成できる場合は、アルゴリズムに問題はないはずです。

注: このプログラムは非常に実用的であり、小さなデータベースのプロトタイプとして考えることもできます。

<<:  UCenter パスワードアルゴリズムのルールと生成方法

>>:  C# 暗号化におけるハッシュ アルゴリズムの適用に関する簡単な分析

ブログ    
ブログ    

推薦する

...

革新を続ける: 6月のロボット研究開発の概要

近年、人工知能への熱狂が多くの業界を席巻しており、ロボット工学の分野も例外ではありません。人工知能技...

AI支援プログラミングの現状:AIツールは速度を向上させるが、エラーコードも大幅に増加

ソフトウェア開発の世界では、AI ツールの人気が高まっています。昨年、GitHub は、AI 支援ツ...

フロントエンド上級編: よく使われるいくつかの JS 検索アルゴリズムの概要とパフォーマンス比較

[[356180]]序文今日は引き続き js アルゴリズムについてお話ししましょう。以下の説明を通じ...

人工知能と機械学習が進化する10の方法

[[411678]]人工知能は現在、多くの CEO にとって最重要課題となっています。この話題は目新...

ベイジアンディープラーニング: ディープラーニングと確率的グラフィカルモデルを統合するフレームワーク

人工知能 (AI) の進歩により、多層のディープ ネットワークを構築し、大量のデータを学習に活用する...

...

機械学習プロジェクトにおけるデータの前処理とデータ ラングリング

要点一般的な機械学習/ディープラーニング プロジェクトでは、データ準備が分析パイプライン全体の 60...

スマートネットワークとスマート製造を備えた新エネルギーインテリジェントコネクテッドビークルがデジタル変革への道を開く

重慶には「マスター、急いでいます!」というスピードがあります。シートベルトを締めると、地面に近いとこ...

LangChain と Redis が協力して何かを実現しています!財務文書分析の精度を向上させるツールを作成する

著者 | タニスタ編纂者:Xing Xuan制作:51CTO テクノロジースタック(WeChat I...

人工知能が人間の神経を刺激し、2017年は世界的な技術革新が活発化

[[183471]]図1:2017年1月7日、知能ロボット「小宝」が上海市楊浦区のショッピングモール...

Orange3 の探索: データ マイニングと機械学習の新しい世界を開きます。

Orange3 は、豊富なデータ処理、分析、モデリング機能を提供する強力なオープンソースのデータ視...

【WOT2018】蘇寧ドットコム高超:AI技術+短編動画を電子商取引プラットフォームに応用

[51CTO.comより引用] 2013年頃、携帯電話やパソコンに短編動画が大量に登場し、低コスト、...

...