از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
هفده روز پیش منتشر شده
تعداد بازدید: 57
کد پروژه: 529450
شرح پروژه
این پروژه شامل دو بخش است که باید به صورت یک فایل فشرده .zip تحویل داده شود. در این فایل فشرده، موارد زیر باید وجود داشته باشد:
بخش اول - کلاس Heap
شما باید یک کلاس template به نام HeapT پیادهسازی کنید که دادهها را به صورت min-heap و با استفاده از یک array ذخیره کند. این کلاس باید دادههای هر نوع (قابل مقایسه) را نگهداری کند. کلاس HeapT شامل متدهای زیر است:
1. constructor(int): ایجاد یک HeapT با ظرفیت آرایه مشخص شده.
2. copy constructor: ایجاد یک کپی عمیق از یک شیء HeapT دیگر.
3. destructor: آزادسازی حافظه دینامیکی.
4. operator=: کپی کردن یک شیء HeapT دیگر به شیء فراخوان و مدیریت تخصیص حافظه.
5. insert: افزودن یک عنصر به heap و حفظ خواص آن؛ اگر heap پر باشد، خطای runtime_error میدهد.
6. remove: حذف و بازگرداندن root و حفظ خواص heap؛ اگر heap خالی باشد، خطای runtime_error میدهد.
7. peek: بازگرداندن root؛ اگر heap خالی باشد، خطای runtime_error میدهد.
8. merge: ایجاد و بازگرداندن یک heap جدید که شامل مقادیر شیء فراخوان و پارامتر ورودی است.
9. size: بازگرداندن تعداد عناصر موجود در heap در زمان ثابت.
بخش دوم - بزرگترین مقادیر m
شما باید یک template function به نام largestm بنویسید که دارای دو پارامتر است:
1. یک vector از نوع دادهای template با n عنصر.
2. یک عدد صحیح m.
این تابع باید m بزرگترین عنصر بردار ورودی را به ترتیب نزولی بازگرداند. اگر اندازه vector ورودی کمتر یا برابر m باشد، نتیجه باید شامل تمام عناصر vector ورودی باشد. شما باید از شیء HeapT برای پیادهسازی این تابع استفاده کنید و زمان اجرای آن باید حداکثر O(n log m) باشد.
تحویل پروژه:
فایل فشردهی .zip باید شامل موارد زیر باشد:
1. فایل HeapT.h: این فایل باید شامل تعریف کلاس HeapT و پیادهسازی متدهای آن باشد. کلاس به صورت یک فایل تکی ارائه میشود که پیادهسازی توابع آن زیر تعریف کلاس قرار دارد.
2. فایل largestm.h: این فایل باید شامل پیادهسازی تابع largestm باشد که از شیء HeapT استفاده میکند.
هیچ فایل یا پوشه اضافی نباید در فایل فشردهی نهایی باشد. اگر قادر به پیادهسازی برخی از متدها نیستید، از توابع استاب (توابع خالی یا نمایشی) استفاده کنید تا برنامه به درستی کامپایل شود.
شرح کامل پروژه به صورت عکس ضمیمه شده است.
این پروژه شامل 6 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
بودجه
300,000 تومان تا 750,000 تومان
مهلت برای انجام
4روز
وضعیت مناقصه
انجام شده
درباره کارفرما
عضویت یک ماه پیش
قادر به انجام این پروژه هستید؟
مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار