আমি হারিয়ে যাওয়া ছাড়া সত্যই উত্তর দিতে পারি না (অনেকগুলি মাত্রা রয়েছে যার সাথে আপনি এই কাঠামোগুলি তুলনা করতে পারেন), তবে # 3 এর উত্তরটি খুব সহজ।
একটি অত্যাবশ্যক ডেটা কাঠামো ব্যবহার করুন যদি: (ক) একেবারে কোনও এলিয়াসিং না থাকে, বা (খ) দক্ষ সম্প্রচারের জন্য আপনাকে সত্যই এলিয়াসিং ব্যবহার করতে হবে।
যদি আপনার ডেটা স্ট্রাকচারের মোটেই কোনও এলিয়াসিং না হয়, তবে আপনি কার্যকরী ডেটা স্ট্রাকচারগুলি অবিচল থাকার বিষয়টি আপনি গ্রহণ করছেন না। সুতরাং তাদের খরচ দেওয়ার কোনও কারণ নেই। এই পরামর্শ দুটি ক্যাভেট আছে। প্রথমত, আপনি একটি কার্যকরী ডেটা কাঠামোর প্রয়োগের সরলতার পক্ষে পছন্দ করতে পারেন: একটি কার্যকরী লাল-কালো গাছের জন্য মুছে ফেলা প্রয়োগ আপনাকে অভিশাপ দেবে, তবে অভিভাবক পয়েন্টার সহ একটি অপরিহার্য লাল-কালো গাছে মুছে ফেলা বাস্তবায়ন আপনাকে আত্মহত্যার কথা ভাববে। দ্বিতীয়ত, অ্যাসাইনমেন্ট একটি জিসিডি ভাষায় আপনার প্রত্যাশার চেয়ে বেশি ব্যয়বহুল হতে পারে, যেহেতু লেখকরা তরুণ প্রজন্মের বাইরে ডেটা কাঠামো সরিয়ে নিতে পারেন। সত্যিকার অর্থে আমাদের ক্যাশে ইফেক্ট এবং জিসির একটি ভাল তত্ত্ব নেই, সুতরাং আপনার কাছে বেঞ্চমার্কিংয়ের বিকল্প নেই।
দ্বিতীয়ত, আপনার যদি কোনও সম্প্রচার চ্যানেল প্রয়োজন হয়, তবে একটি ভাগ করা ডেটা স্ট্রাকচার এটি করার জন্য দুর্দান্ত উপায়। ধ্রুবক-সময় আপডেটের সাহায্যে আপনি অন্য অনেককে ইচ্ছামত বলতে পারেন যে একটি মান পরিবর্তন হয়েছে। (এই কারণেই ইউনিয়ন-সন্ধান যেমন একটি দুর্দান্ত ডেটা কাঠামো)) নিখুঁতভাবে কার্যকরী সেটআপের মাধ্যমে, আপনাকে অন্য সমস্ত লোককে সংশোধন করতে হবে, বা ম্যানুয়ালি কোড আপ করার মতো একটি বিমূর্ত পয়েন্টার দেওয়া উচিত (যা একধরনের অবসন্নতা) করার আছে).
যদি আপনি হয় আলিয়াসিং এবং অবজেক্টের মালিকানা সম্পর্কে যুক্তি করতে না চান, বা আপনার যদি একই ডেটা স্ট্রাকচারের একাধিক সংস্করণ প্রয়োজন (তবে আপনার একটি নতুন এবং পুরাতন উভয় সংস্করণ প্রয়োজন, বলুন), তবে কেবল একটি কার্যকরী ডেটা কাঠামো ব্যবহার করুন।
এই পরামর্শটি অনুসরণ করার জায়গাগুলি আমি গ্রাফিক অ্যালগরিদম সহ সবচেয়ে শক্ত। সত্যই মার্জিত আবশ্যক গ্রাফ অ্যালগরিদম প্রচুর আছে, তবে এটি প্রায়শই ঘটে থাকে (বলুন, সংকলক লেখার সময়) যে আপনিও অধ্যবসায় চান। লোকেরা সাধারণত পার্থক্যটি বিভক্ত করার চেষ্টা করে এবং শীতল আবশ্যক অ্যালগরিদম ব্যবহার করে তবে অধ্যবসায় পাওয়ার জন্য সংস্করণটি পাশের দিকে বোল্ট করার চেষ্টা করে। এটি সাধারণত বেশ ভয়াবহ, বাগগুলি পূর্ণ এবং জরুরী অ্যালগরিদমের কার্যকারিতা সুবিধা হারাতে প্রবণ।