پروژه دانشجویی:پیاده سازی Min-Heap Template Class و تابع Largest m
در سراسر کشور
در وبسایت پارسکدرز(چند ساعت پیش)
دورکاری
اطلاعات شغل:
امکان دورکاری و کار در منزل: دارد
نوع همکاری: پروژهای
مهارتهای مورد نیاز:
برنامه نویسی با C++ (C++ Programming)
PHP
وردپرس (Wordpress)
بازه حقوق:از 300,000 تا 750,000 تومان
متن کامل آگهی:
این پروژه شامل دو بخش است که باید به صورت یک فایل فشرده .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 استفاده میکند.
هیچ فایل یا پوشه اضافی نباید در فایل فشردهی نهایی باشد. اگر قادر به پیادهسازی برخی از متدها نیستید، از توابع استاب (توابع خالی یا نمایشی) استفاده کنید تا برنامه به درستی کامپایل شود.
شرح کامل پروژه به صورت عکس ضمیمه شده است.
این آگهی از وبسایت پارسکدرز پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پارسکدرز برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.