স্থানটিতে একটি রৈখিক সময় কি রিফাল শিফেল অ্যালগরিদম আছে? এটি হল অ্যালগরিদম যা কিছু বিশেষত ডেক্সট্রস হাতগুলি সম্পাদন করতে সক্ষম হয়: সমান আকারের ইনপুট অ্যারেটি সমানভাবে ভাগ করে নেওয়া হয় এবং তারপরে দুটি অংশের উপাদানগুলি ইন্টারলিয়েভ করে।
ম্যাথওয়ার্ল্ডের রাইফেল শফলে একটি সংক্ষিপ্ত পৃষ্ঠা রয়েছে । বিশেষত, আমি আউট-সাফাল বিভিন্নতে আগ্রহী যা ইনপুট অ্যারে 1 2 3 4 5 6 কে 1 4 2 5 3 তে রূপান্তর করে 6.. নোট করুন যে তাদের সংজ্ঞা অনুসারে, ইনপুট দৈর্ঘ্য ।
লিনিয়ার সময়ে এটি সম্পাদন করা সোজা ward যদি আমরা আকারের বা আরও কিছু সহজ কাজ পাই । প্রথমে অ্যারেতে সর্বশেষ উপাদানগুলি অনুলিপি করুন । তারপর, অভিমানী 0 ভিত্তিক ইন্ডেক্স, প্রথম কপি উপাদানের সূচকের থেকে থেকে । তারপরে এন কপি করুনইনপুট অ্যারের দ্বিতীয় অ্যারের ফিরে থেকে উপাদানগুলি সূচকের ম্যাপিং, থেকে । (আমরা তার চেয়ে কিছুটা কম কাজ করতে পারি, কারণ ইনপুটটিতে প্রথম এবং শেষ উপাদানগুলি সরে না))
এই জায়গায় করার চেষ্টা করার একটি উপায় অন্তর্ভুক্ত করে চক্রের বিভাজনের ক্ষয় এবং তারপরে প্রতিটি চক্র অনুসারে উপাদানগুলিকে পুনর্বিন্যাসের সাথে জড়িত। আবার 0-ভিত্তিক সূচকে ধরে নেওয়া, 6 উপাদান ক্ষেত্রে জড়িত ক্রমটি হ'ল
যেমনটি প্রত্যাশিত, প্রথম এবং শেষ উপাদানগুলি নির্দিষ্ট পয়েন্ট এবং আমরা মধ্য 4 টি উপাদানকে অনুমতি দিলে আমরা প্রত্যাশিত ফলাফলটি পাই।
দুর্ভাগ্যক্রমে, অনুমানের গণিত সম্পর্কে আমার বোঝা (এবং তাদের ) মূলত উইকিপিডিয়া ভিত্তিক, এবং আমি জানি না যে এটি লিনিয়ার সময়ে করা যায় কিনা। সম্ভবত এই বদলে যাওয়ার সাথে যুক্ত ক্রমগুলি দ্রুত পচে যেতে পারে? এছাড়াও, আমাদের এমনকি সম্পূর্ণ পচনের প্রয়োজন নেই। বিভেদ চক্রগুলির প্রতিটি একক উপাদান নির্ধারণই যথেষ্ট হবে, যেহেতু আমরা চক্রটিকে এর একটি উপাদান থেকে পুনর্গঠন করতে পারি। সম্ভবত একটি সম্পূর্ণ ভিন্ন পদ্ধতির প্রয়োজন।
সম্পর্কিত গণিতে ভাল সংস্থানগুলি একটি অ্যালগরিদমের মতোই মূল্যবান। ধন্যবাদ!