私は初心者のプログラマーで、最近アルゴリズムと DS を学び始めました。チュートリアルや書籍で、並べ替えや情報検索のように、「データをメモリに取り込む」という用語が言及されているのをよく見かけます。データを配列または HashMap (IR の場合) に格納するプロセスは理解していますが、メモリがその中でどのような役割を果たしているのか本当に理解していませんか?
この種のシナリオでのメモリの基礎を説明したり、同じチュートリアルを提案したりできますか?
私は初心者のプログラマーで、最近アルゴリズムと DS を学び始めました。チュートリアルや書籍で、並べ替えや情報検索のように、「データをメモリに取り込む」という用語が言及されているのをよく見かけます。データを配列または HashMap (IR の場合) に格納するプロセスは理解していますが、メモリがその中でどのような役割を果たしているのか本当に理解していませんか?
この種のシナリオでのメモリの基礎を説明したり、同じチュートリアルを提案したりできますか?
基本的なレベルでは、コンピューターには次の 2 つしかありません。
すべてのデータは 1 と 0 だけで構成されています。
ただし、これらのデータが存在する可能性のある場所はたくさんあり、それらはすべてメモリと呼ばれます。
ROM (読み取り専用メモリ: コンピュータを起動して、マザーボードなどと対話できるようにするためのメモリ。)
ハードディスク(ハードディスクに保存されたデータは、コンピュータの電源を切っても失われません。オペレーティング システム、個人用ファイルなど)
RAM (ランダム アクセス メモリ: アプリケーションは RAM にすばやく読み書きできますが、コンピュータを再起動するとデータは失われます。ハッシュテーブル、オブジェクト、プログラムが扱うデータはここに保存されます。)
キャッシュ(さまざまなレベルのキャッシュが存在します。RAM メモリの頻繁にアクセスされる部分がキャッシュ メモリにコピーされるため、アプリケーションはそのデータにすばやくアクセス/変更できます。変更されたデータは RAM に戻され、RAM からハードディスク)。
外部メモリ(インターネット接続またはその他の接続により、データを保存できる場所がさらに増える場合がありますが、そのメモリへのアクセスにははるかに時間がかかります)。
チュートリアルや書籍などで「データをメモリに取り込む」という形で「メモリ」が使用されている場合、通常は、ハードディスク メモリから RAM メモリにデータを取り込むことを意味します。
これは、コンピューターが実行する操作は、RAM に格納されたデータに対してのみ実行できるためです。(ただし、例外を除いて、誰かが必ずコメントします)。