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