なぜアルゴリズムを勉強するのでしょうか?
私は何度も、学習アルゴリズムの何の役に立つのかと自問してきました。
私はソフトウェア学部の学生として、C言語、C、データ構造、アルゴリズムなどを学んできましたが、プログラミングに関する授業の中で、アルゴリズムが最も役に立たないと感じています。ここの指は仕事の後です。作業プロセスのほとんどの場合、アルゴリズムを設計したり、アルゴリズムの導入で非常に優れたアルゴリズムを適用したりする必要はなく、1 つのモジュールを完成させ、主にデザイン パターンとビューポイントの 2 つのモジュールを統合するだけの方法です。オブジェクト指向などが大きな役割を果たしており、アルゴリズムは単純なデータ構造を持つ必要があり、アルゴリズムをまったく必要としない場合もありますが、モジュール構築プロセスに近い JAVA ではこれは当てはまらないのではないかと思います。 。
ACM の周りには POJ でトップ 10 にランクされる素晴らしい人材が何人かいますが、仕事となると、彼のアルゴリズムのスキルはあまり役に立っていないようです。彼は毎日 JAVA で何かを書いてテストし、いくつかのバグを修正するだけで、DP、欲張り、グラフ理論などはまったく関係ありません。機能が実現できれば何を使っても構わない、そんな考え方があってしかるべきです。マイクロソフトアジア研究所のような、アルゴリズムに対する要求が高い研究機関に誰でも行けるわけではありませんが、一般企業であれば、言語が話せて、ある程度の技術が理解でき、プロジェクトに携わったことがあれば、基本的には行けると思います。面接に関しては、データ構造に関するいくつかの質問をするだけで、その場で DP アルゴリズムを作成するよう求められたり、アイデアについて話すための ACM の質問を与えられたりすることはありません。研究開発チームは実際にはアルゴリズムを必要としていませんし、テストチームは言うまでもありません。
では、学習アルゴリズムは何の役に立つのでしょうか?実際、この質問は数学を学ぶことに何の意味があるのかという質問と非常によく似ています。仕事をした後、積分を計算したり、極限を見つけたり、1 変数の二次方程式を解くことができる人はほとんどいません。入社1年目の先輩と雑談していて、データ構造、デザインパターン、OS、英語が大事だと言っていたが、アルゴリズムについては全く触れず、もちろん触れなかった。微積分。
私たちが数学の観点から考え、人々に考えることを教えるのであれば、同じことがアルゴリズムにも当てはまると思います。アルゴリズムは本質的に数学です。たとえば、離散数学だけでなく、組み合わせ数学にも多くのアルゴリズムがあります。この知識は使われないことも多く、たとえ使ったとしても本を調べて読むだけで、すぐにまた忘れてしまいます。平均的なプログラマーになるために多くのアルゴリズムを学ぶ必要はありませんが、優秀なプログラマーになることを決意した人だけが、自分の思考と能力の向上に役立ついくつかのアルゴリズムを学ぶ必要があります。おそらく、プログラマーのグループでは、誰もがパターンを設計でき、C/JAVA に習熟できますが、アルゴリズムに習熟していれば、間違いなく優れています。たとえ使えなくても、それはあなたの重みです。あなたは他の人より多くのことを知っているのにそれができない、それは悪いことではありません。
以上がなぜアルゴリズムを勉強するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosシステムの下でのGitlabのバックアップと回復ポリシーデータセキュリティと回復可能性を確保するために、Gitlab on Centosはさまざまなバックアップ方法を提供します。この記事では、いくつかの一般的なバックアップ方法、構成パラメーター、リカバリプロセスを詳細に紹介し、完全なGitLabバックアップと回復戦略を確立するのに役立ちます。 1.手動バックアップGitlab-RakeGitlabを使用:バックアップ:コマンドを作成して、マニュアルバックアップを実行します。このコマンドは、gitlabリポジトリ、データベース、ユーザー、ユーザーグループ、キー、アクセスなどのキー情報をバックアップします。デフォルトのバックアップファイルは、/var/opt/gitlab/backupsディレクトリに保存されます。 /etc /gitlabを変更できます

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。
