配列の最初の要素(4000番目ではなく)から読み取ったときに速度差はありますか?配列内の他の要素についても同じです。配列の最初の要素、または4000番目の要素を読み取る方が速いのですか?
ほとんどがC++について質問していますが、どの言語も問題ありません。
配列に関しては、整数の配列になります。
配列の最初の要素(4000番目ではなく)から読み取ったときに速度差はありますか?配列内の他の要素についても同じです。配列の最初の要素、または4000番目の要素を読み取る方が速いのですか?
ほとんどがC++について質問していますが、どの言語も問題ありません。
配列に関しては、整数の配列になります。
特に配列内の要素を呼び出していて、取得する要素の配列内の正確な位置を知っている場合は、速度に差はありません。しかし、ループが関与している場合、または特定の値のアレイを検索する機能の種類がある場合は、速度に影響を与える可能性があります。
同じである必要があります。あなたが探している要素のインデックスを知っていれば、大きな配列をループする際には気にする必要はありません。
おそらく言語に依存しますが、それはJavaやC/C++でも当てはまりますが、残りの部分は本当に言い訳がありません。
さて、私はあなたがC++について話しているのを見て、あなたはそれが同じであることを確かめることができます。
C++ではまったく同じです。そのため、配列はその事実に依存する多くのことをアルゴリズムに行うための優れた構造です。明示的にアドレス指定されたメモリで何かにアクセス
はO(1)
配列要素を配列の開始位置を取り、次いで、オフセットを加算することによって行われるアクセスしています。 [256] = 0x000001f0 + 0x00000100
ARR [0] = 0x000001f0 + 0x00000000の
アクセスARR
egif ARR = 0x000001f0
アクセス[免責事項:OS及び仮想化によって変化し得るとそして... - それについて心配しないでください]
どの言語/プラットフォームですか?それは依存している。 – Julian
それは(多くのものに)依存します。 – user3528438
テストアプリケーションを作成し、使用している言語に関係なく、それを自分でベンチマークします。結果はあなたに何を伝えますか? –