কম্পিউটার টিউটোরিয়াল

ডেটা স্ট্রাকচারে অ্যারে ডাবলিং


কभी কখন আমরা ডাইনামিক মেমরি অ্যালোকেশন ব্যবহার করে অ্যারে তৈরি করি। যদি অ্যারেটি ডাইনামিক মেমরি অ্যালোকেশন কৌশল ব্যবহার করে অ্যালোকেট করা হয়, তবে আমরা কিছু অপারেশন সম্পাদন করে অ্যারের আকার দ্বিগুণ করতে পারি।

ধরি প্রাথমিক অ্যারের আকার 5 ছিল।

অ্যারে

01234
Element 1Element 2Element 3Element 4Element 5

অ্যারে ডাবলিংয়ের পর আকার হল:

0123456789
Element 1Element 2Element 3Element 4Element 5Element 6Element 7Element 8Element 9Element 10

আকার n-এর অ্যারে arr-কে, arr[0…n-1] দ্বিগুণ করতে, প্রথমে m আকারের একটি নতুন অ্যারে তৈরি করতে হবে। তারপর পুরনো অ্যারে থেকে nটি উপাদান নতুন অ্যারেতে কপি করতে হবে। অবশেষে arr-কে নতুন অ্যারেটি নির্দেশ করাতে হবে।

m আকারের একটি অ্যারে তৈরি করতে θ(m) সময় লাগে। কারণ এটি কিছু ডিফল্ট ভ্যালuyla ইনিশিয়ালাইজ করা হয়। তারপর পুরনো অ্যারে থেকে নতুন অ্যারেতে কপি করার জন্য অতিরিক্ত θ(n) সময় লাগে। তাই এই অপারেশনটি θ(m + n) সময় নেয়। এই অপারেশনটি তখন ঘটে যখন অ্যারেটি পূর্ণ হয়। এবং সাধারণত m-এর মান 2n-এর সমান। তাই কমপ্লেক্সিটি হল θ(2n + n) = θ(3n) যা θ(n)-এর সমতুল্য। কিন্তু এই অপারেশনটি ব্যয়বহুল বলে বিবেচিত হয়। যাইহোক, এই অপারেশনটি পরবর্তী n ইটারেশনের ওপর амর্টাইজড হলে, এটি প্রতি ইটারেশনে শুধু θ(1) সময় যোগ করে। তাই আমরা বুঝতে পারি যে কনস্ট্যান্ট ফ্যাক্টরে অ্যারের আকার বাড়াতে অসিম্পটোটিক কমপ্লেক্সিটিতে ক็นাকারাত্মক প্রভাব ফেলে না।


  1. ডেটা স্ট্রাকচরে R-ট্রি

  2. ডেটা স্ট্রাকচরে একক অ্যারেতে একাধিক লিস্ট

  3. ডেটা স্ট্রাকচরে সেগমেন্ট ট্রি

  4. হাফ-এজ ডেটা স্ট্রাকচার