એક એરે એ મેમરીનો એક સતત બ્લોક છે જે એક જ પ્રકારના તત્વો ધરાવે છે, જે 0 થી અનુક્રમિત છે. કારણ કે તત્વો એક બીજાની બાજુમાં બેઠા છે, તત્વ i નું સરનામું સીધું base + i * elementSize તરીકે ગણવામાં આવે છે, જે O(1) રેન્ડમ એક્સેસ આપે છે.
એક એરે એ મેમરીનો એક સતત બ્લોક છે જે એક જ પ્રકારના તત્વો ધરાવે છે, જે 0 થી અનુક્રમિત છે. કારણ કે તત્વો એક બીજાની બાજુમાં બેઠા છે, તત્વ i નું સરનામું સીધું base + i * elementSize તરીકે ગણવામાં આવે છે, જે O(1) રેન્ડમ એક્સેસ આપે છે.
index: 0 1 2 3 4
+-----+-----+-----+-----+-----+
arr = | 10 | 20 | 30 | 40 | 50 |
+-----+-----+-----+-----+-----+
address: base +4 +8 +12 +16 (4-byte ints)
arr = [10, 20, 30, 40, 50]
x = arr[3] # O(1) — direct index math
arr.append(60) # amortized O(1) (dynamic array)
arr.insert(0, 5) # O(n) — shift every element right
arr.pop(0) # O(n) — shift every element left
| ક્રિયા | સમય |
|---|---|
| ઇન્ડેક્સ દ્વારા એક્સેસ | O(1) |
| શોધ (અશોધિત) | O(n) |
| સંযોજન (ગતિશીલ) | O(1) સરેરાશી |
| આગળ/મધ્યમાં શામેલ કરણ/હટાવણી | O(n) |
એરેઓ વધુ તમામ અન્ય સંરચનાઓ હેઠળ ভিત્તિ છે — શબ્દમાલા, hash tables, heaps અને dynamic lists તમામ તેમના પર બનેલી છે.
તેમની cache locality વાસ્તવમાં બેન્ચમાર્કમાં "ધીમી" Big-O એરે એક "ઝડપી" પોઇંટર-આધારિત સંરચનાને હરાવતી કરે છે.
વિગતવાર જવાબો સાથે IT ઇન્ટરવ્યૂ પ્રશ્નોની લાઇબ્રેરી — જુનિયરથી સિનિયર સુધી.
દાન કરો