পূর্ণসংখ্যার তালিকার দুটি পণ্যের তুলনা করছেন?


10

ধরুন আমার কাছে সীমাবদ্ধ ম্যানিটিউটের ইতিবাচক পূর্ণসংখ্যার দুটি তালিকা রয়েছে এবং আমি প্রতিটি তালিকার সমস্ত উপাদানগুলির পণ্য গ্রহণ করি। কোন পণ্যটি বড় তা নির্ধারণ করার সর্বোত্তম উপায় কী?

অবশ্যই আমি প্রতিটি পণ্য সহজেই গণনা করতে পারি, তবে আমি আশা করছি আরও কার্যকর পদ্ধতির উপস্থিতি আছে, কারণ পণ্যগুলির সংখ্যাগুলির সংখ্যা শর্তাবলীর সাথে রৈখিকভাবে বৃদ্ধি পাবে, যাতে সম্পূর্ণ গণনাটি দ্বিখণ্ডিত হয়।

আমি যদি সংখ্যাবৃদ্ধির পরিবর্তে যুক্ত করতাম তবে আমি প্রথম তালিকা থেকে ক্রমবর্ধমান এন্ট্রি যুক্ত করে এবং দ্বিতীয় থেকে বিয়োগ করে, (বৃহত্তর) সামগ্রিক অঙ্কগুলি গণনা করার প্রয়োজনীয়তার পরিপ্রেক্ষিতে আমি একটি "জিপ্পারিং কৌশল" ব্যবহার করতে পারি। পণ্যগুলির অ্যালোগুল কৌশলগুলি এন্ট্রিগুলির লগারিদমগুলির সমষ্টি হতে পারে, তবে এখন সমস্যাটি হ'ল লগগুলিকে গণনা করার জন্য নিখুঁত পাটিগণিতের প্রয়োজন। সংখ্যাগত ত্রুটিটি অপ্রাসঙ্গিক প্রমাণ করার কোনও উপায় না থাকলে?


যদি আমরা সর্বাধিক পূর্ণসংখ্যার মানটি জানি এবং এটি এন (যেমন, একটি ধ্রুবক কে) এর চেয়ে আলাদা হয় তবে আমরা 1 থেকে কে পর্যন্ত সমস্ত সংখ্যার গুণকের একটি সারণী তৈরি করতে পারি। এখন আমি মনে করি আপনি যদি বেসের সমস্ত কারণ [উপাদানগুলির পণ্য] লিখেন তবে এটি লিনিয়ার হয়ে যায় যেহেতু আপনি সেই ভিত্তির সাথে রৈখিক সময়ে পণ্যগুলি গণনা করতে পারেন তবে প্রতিটি সংখ্যার (সর্বোচ্চ অর্ডার অঙ্কের সাথে শুরু করে) একের সাথে অপরের চেয়ে বড় না হওয়া পর্যন্ত তুলনা করুন। বিশদগুলি কিছুটা জটিল তবে আমি মনে করি যে যদি কে ধ্রুবক হয় তবে এটি কাজ করা উচিত।
ফিলিইদা

আমি বরং বলব যে পণ্যগুলির জন্য অ্যানালগাস কৌশলটি হ'ল দ্বিতীয় তালিকার প্রথম উপাদানগুলির সাথে ভাগ করে প্রথম তালিকার প্রথম উপাদানগুলির সাথে সমান যুক্তিযুক্ত সংখ্যা রাখা (প্লাস হ্যান্ডলিং গুলি)। তবে এটি সত্যই সহায়ক নয় কারণ যদি সমস্ত সংখ্যা কপিরাইম হয় তবে এটি উভয় পণ্যই গণনা করবে। | এছাড়াও আমি নিশ্চিত না যে নিষ্পাপ অ্যালগরিদম চতুষ্কোণীয় is এর একটি পণ্য কম্পিউটিং এন আকারের পূর্ণসংখ্যার মি পর্যন্ত সময় লাগতে পারে সি ( মি , মি ) + + সি ( মি , 2 মি ) + + + সি ( এম , ( এন)0nm যেখানে সি ( এক্স , Y ) একটি গুন খরচ এক্স একটি সঙ্গে -bits পূর্ণসংখ্যার Y integers.Unless -bits আপনি বিবেচনা যে পণ্য এছাড়াও বিন্যাসে মাপসইC(m,m)+C(m,2m)+...+C(m,(n1)m)C(x,y)xy
xavierm02


নিরীহ পদ্ধতির উন্নতি: প্রতিটি ফ্যাক্টরের সংখ্যার সংখ্যা গণনা করুন (রৈখিক সময়ে) এবং কেবলমাত্র দক্ষ বিদ্যুৎ সংক্রান্ত অ্যালগরিদম ব্যবহার করে পণ্যটি শেষের দিকে গণনা করুন। এটি সময় যা ( এন) হয়O(M(n)) বর্তমান অ্যাসেম্পোটোটিক্যালি দ্রুততম পদ্ধতিটি ব্যবহার করে। O(nlogn2O(logn))
এমিল জ্যাব্যাক

2
আমি লগ এর প্রয়োজনীয় নির্ভুলতা সম্পর্কে চিন্তা করব। এটি আসলে আরও দক্ষ হতে পারে।
এমিল জ্যাব্যাক

উত্তর:


6

(আমি সমস্যার বর্ণনাটি বুঝতে পারি যাতে ইনপুট সংখ্যাগুলি একটি ধ্রুবক দ্বারা আবদ্ধ থাকে, তাই আমি বাউন্ডের উপর নির্ভরতা ট্র্যাক করব না))

লিনিয়ার সময় এবং লোগারিথমিক স্পেসে লোগারিথমের যোগফল ব্যবহার করে সমস্যাটি সমাধানযোগ্য। আরও বিশদে বিশদটি নিম্নরূপ:

  1. বাইনারি কাউন্টার ব্যবহার করে, উভয় তালিকায় প্রতিটি সম্ভাব্য ইনপুট সংখ্যার সংখ্যার সংখ্যা গণনা করুন।

এটি সময় সময় নেয় এবং কাউন্টারগুলি স্পেস ( লগ এন ) ব্যবহার করে , কারণ প্রতিটি কাউন্টারটি মান দ্বারা n দ্বারা আবদ্ধ হয়।O(n)O(logn)n

p1,,pkO(1)aaO(logn)

  1. β1,,βkO(logn)Λ:=i=1kβilogpi

  2. β1==βk=0

Λ0

|Λ|>2Clogn
CΛ
  1. i=1kβiπiπilogpim:=Clogn+k+1

M(m)mM(m)=O(mlogm2O(logm))O(m2)logpimO(M(m)logm)iβiπiO(M(m))O(M(m)logm)O(lognpoly(loglogn))

O(n)


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