গতিশীল মেমরি বরাদ্দের জন্য ডেটা কাঠামো


12

সেল-প্রোব মডেলটির কথা চিন্তা করুন। এমন কোনও ডেটা স্ট্রাকচার রয়েছে যা যে কোনও দৈর্ঘ্যের মেমরির সামঞ্জস্যপূর্ণ অংশগুলি বরাদ্দ করতে পারে (যেমন সি তে ম্যালোক) এবং মেমরি বিভাজন এড়ানোর সময় এগুলিকে মুক্ত করে এবং নিকৃষ্টতম পরিস্থিতি নির্ধারণকারী ও (লগ এন) সময়ে প্রতিটি ক্রিয়াকলাপ চালায় যেখানে এন স্মৃতি মোট আকার?

মেমরি বিভাজন এড়িয়ে আমার অর্থ হ'ল যদি বিনামূল্যে কোষের মোট সংখ্যা F হয়, তবে আমার কাছে এফ কোষগুলির একটি সংক্ষিপ্ত অংশ বা প্রায় এফ কোষগুলি বরাদ্দ করতে সক্ষম হওয়া উচিত।

উত্তর:


6

এমনকি সময় নির্ধারিত ব্যতীত, "মেমরি বিভাজন এড়ানো" অসম্ভব যদি না আপনি বরাদ্দ করা অবজেক্টগুলিকে চারপাশে সরিয়ে না নিতে পারেন, যেমন কোনও সংযোগকারী আবর্জনা সংগ্রাহকের মতো। গতিশীল স্টোরেজ বরাদ্দ সম্পর্কিত রবসনের "কিছু কার্যের জন্য সীমা" দেখুন, যা দেখায় যে এন এবং এন এর মধ্যে আকারের ব্লকগুলিতে বাইট বরাদ্দকরণের জন্য মেমরির Ω ( এম লগ ( এন / এন ) ) বাইট প্রয়োজন requiresmnNΩ(mlog(N/n))

অতিরিক্তভাবে, বন্ধু সিস্টেমটি এই সীমাটি অর্জন করে এবং লোগারিথমিক সময়ে করা যায়।


রেফারেন্সের জন্য ধন্যবাদ। আমি বরাদ্দকৃত বস্তুগুলিকে আশেপাশে সরানোর অনুমতি দিই না (অন্যথায় এটি খারাপ উদাহরণ দিয়ে আসতে মোটামুটি সহজ দেখাচ্ছে)। আপনি যে নিম্ন সীমাটি উল্লেখ করেছেন তা কি এখনও কার্যকর হয়?
মনু

m

O(logn)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.