আমি সম্প্রতি পড়েছি যে অ্যারেগুলি করা সম্ভব যা প্রাথমিককরণের দরকার নেই, অর্থাত্ প্রতিটি সদস্যকে ডিফল্ট মান হিসাবে সেট করার চেষ্টা করে ব্যয় না করে এগুলি ব্যবহার করা সম্ভব। অর্থাৎ আপনি অ্যারের ব্যবহার শুরু করতে পারেন যেন এটি আরম্ভ না করেই ডিফল্ট মান দ্বারা শুরু করা হয়েছে। (দুঃখিত, আমি এটি কোথায় পড়েছি তা মনে নেই)।
উদাহরণস্বরূপ কেন এটি অবাক হতে পারে:
বলুন যে আপনি পরিসীমা মধ্যে পরিসংখ্যানগুলির সবচেয়ে খারাপ কেস হ্যাশটেবল (সন্নিবেশ / মোছা / সন্ধানের প্রত্যেকের জন্য মডেল করার চেষ্টা করছেন ।[ ১ , এন ২ ]
আপনি আকার বিটের একটি অ্যারে বরাদ্দ করতে পারবেন এবং হ্যাশটবেলে কোনও পূর্ণসংখ্যার অস্তিত্ব উপস্থাপন করতে স্বতন্ত্র বিটগুলি ব্যবহার করতে পারেন। দ্রষ্টব্য: বরাদ্দ সময় হিসাবে বিবেচনা করা হয়।ও ( 1 )
এখন, আপনাকে যদি এই অ্যারেটি একেবারে আরম্ভ করতে না হয়, তবে এই হ্যাশট্যাবলে ক্রিয়াকলাপের যে কোনও ক্রম এখন খারাপ পরিস্থিতি worst ।ও ( এন )
সুতরাং প্রভাব, আপনি একটি "নিখুঁত" হ্যাশ প্রয়োগ, যা একটি ক্রম জন্য অপারেশন ব্যবহারসমূহ স্থান, কিন্তু রান সময়!Θ ( n 2 ) ও ( এন )
সাধারণত কেউ আপনার রানটাইমটি আপনার স্থান ব্যবহারের চেয়ে কমপক্ষে খারাপ হিসাবে প্রত্যাশা করে!
দ্রষ্টব্য: উপরের উদাহরণটি একটি স্পারস সেট বা স্পার্স ম্যাট্রিক্স প্রয়োগের জন্য ব্যবহৃত হতে পারে, সুতরাং এটি কেবল তাত্ত্বিক আগ্রহই নয়, আমি মনে করি।
সুতরাং প্রশ্নটি হ'ল:
ডেটা-স্ট্রাকচারের মতো অ্যারে থাকা কীভাবে সম্ভব যা আমাদের সূচনা পদক্ষেপ এড়াতে দেয়?