صف دو انتهایی جاوا با استفاده از آرایه

برای این درخواست   4   پیشنهاد توسط فریلنسرهای سایت ارسال شده است.


در پارسکدرز کارفرمایان سفارش پروژه می دهند تا توسط متخصصین عضو با قیمتی رقابتی انجام شود.


قیمت توافق شده: 62,000 تومان

شرح پروژه:

سوال تکلیف تحویلی:

در این سوال شما بایستی نسخهی منحصربه فرد خود از ADT صف دوانتهایی1 یا .D.Q را طراحی و پیاده سازی نمایید. یک .D.Q قوی تر از هر دوADT های پشته و صف است، از این جنبه که می تواند تمامی عملیات هر دو نوع داده و حتی بیش تر از آن را پشتیبانی کند. استفاده از هیچ یک از کلاس ها یا واسط های ساخته شده و موجود درJava که عملیات مشابهی انجام می دهند مورد قبول نخواهد بود.کلاس .D.Q شما بایستی از آرایه برای ذخیرهی داده های قرار گرفته در .D.Q استفاده کند. به علاوه پیاده سازی شما بایستی امکان افزایش پویای اندازهی آرایه را به محض این که حداقل %90 ظرفیت .D.Q پر می شود فراهم کند. این افزایش باید یا اندازهی آرایه را دوبرابر کرده یا آن را با مقدار ثابتی از 10 عضو اضافه، بر مبنای پیکربندی ای که در زیر توضیح می

دهیم افزایش دهد. پیاده سازی شما بایستی حداقل شامل متدهای زیر باشد:

addFirst() : عضوی در سر .D.Q قرار می دهد.

addLast() : عضوی در دم .D.Q قرار می دهد.

removeFirst() : اولین عضو D.Q را حذف و آن را برمی گرداند. در صورت تهی بودن D.Q خطا برگردانده می شود.

removeLast() : آخرین عضو D.Q را حذف و آن را برمی گرداند. در صورت تهی بودن D.Q خطا برگردانده می شود.

isEmpty() : در صورتی که D.Q تهی باشد true و در غیر این صورت false برمی گرداند.

peekFirst() : اولین عضو D.Q را بدون حذف آن برمی گرداند.

peekLast() : آخرین عضو D.Q را بدون حذف آن برمی گرداند.

truncate() : اندازهی آرایهی واقعی را به اندازهی دقیق جایگاه های استفاده شده برای D.Q تقلیل می دهد.

setExpansionRule() : کاراکتری واحد (d برای دوبرابرکردن اندازه یا c برای افزایش اندازه با مقدار ثابت 10 عضو)

دریافت می کند. به طور پیش فرض، قاعدهی افزایش اندازه باید برای دوبرابرکردن اندازهی آرایه تنظیم شده باشد. فراخوانی های بعدی )(setExpansionRule این قاعده را باتوجه به پارامتر واردشده از حالتی به حالت دیگر تغییر خواهد داد.

به طور خاص شما بایستی:

الف) تشریحی شبه کدی از D.Q. ADT خود و واسط آن که شامل توضیحاتی دربارهی فرضیات و معانی کدتان است بنویسید.

ب) شبه کدی از متدهایD.Q. ADTی خود (خود متدها) بنویسید. دقت داشته باشید که کد جاوا شبه کد نیست و اینچنین نیز در نظر گرفته نمی شود. شبه کد شما بایستی شامل سطح انتزاعی بیش تر و بالاتر باشد.

ج) با استفاده از نماد ? به طور واضح نشان دهید پیچیدگی هر کدام از متدهای ADT شما چیست. به علاوه نشان دهید استفاده از متد )(truncate مفید یا غیر مفید است. پاسخ خود را به صورت شفاف بیان کنید.

د) برای کل ADT خود کدهای جاوا همراه با توضیح گذاری کامل پیاده سازی کنید. شما بایستی از generics برای پیاده سازی ADT خود استفاده کنید. ه) کد اجراگری (شامل متد )(main)که پیاده سازی وکارکرد کد شما را تست می کند پیاده سازی کنید. این امکان رادارید که هر نوع شیء (مانند اعداد صحیح) را برای کارکرد ADTخود به کار گیرید. شما بایستی حداقل دو حالت را در نظر بگیرید که در آن یک بار .D.Q به عنوان یک پشته و یک بار به عنوان یک صف مورد استفاده قرار می گیرد. به علاوه کلاس اجراگر شما بایستی شامل حالت های کافی برای چک کردن صحت کل پیاده سازی شما باشد.

و) به علاوه کلاس اجراگر بایستی به طور متناوب بین دو قاعدهی افزایش اندازه تغییر کند. مخصوصا کد شما بایستی قاعدهی افزایش اندازه را به یکی از دو قاعده تنظیم کند. افزایش اندازه های چندگانه را الزام کرده و اطلاعات کافی برای این که چه مقدار زمان برای رخ دادن این افزایش اندازه ها مورد نیاز بود جمع آوری کند. کد شما سپس بایستی به قاعدهی دیگر افزایش اندازه رفته و اطلاعات مشابه جمع آوری کند. در واقع، شما می توانید اگر برای جمع آوری اطلاعات مورد نیاز لازم باشد به هر میزان که بخواهید بین دو

حالت تغییر وضعیت دهد.


لیست پیشنهادهای فریلنسرها

SpeedCoder

فریلنسر نقره‌ای

فریلنسر نقره‌ای

62,000 تومان

امتیاز 9.89 (ممتاز) از 37 رای
پروژه موفق : 48
رتبه: 70
بیست و یک روز پیش

Daneshjo.Project

فریلنسر برنزی

فریلنسر برنزی

70,000 تومان

0.00 (بدون امتیاز) از 1 رای
پروژه موفق : 13
رتبه: 3111
بیست و هشت روز پیش

hojjat-12

فریلنسر نقره‌ای

فریلنسر نقره‌ای

80,000 تومان

امتیاز 10.00 (ممتاز) از 16 رای
پروژه موفق : 24
رتبه: 230
بیست و هشت روز پیش

ProfessionalDeveloper

فریلنسر نقره‌ای

فریلنسر نقره‌ای

250,000 تومان

امتیاز 9.75 (ممتاز) از 65 رای
پروژه موفق : 94
رتبه: 13
بیست و هشت روز پیش
+8500
+33551

پارسکدرز چی هست و چه کارهایی در اون انجام میشه؟

ما رابط تقاضا و اجرا هستیم. در پارسکدرز خریداران درخواست خود را به صورت عمومی یا خصوصی مطرح می کنند تا توسط مجریان انجام شود. هر کاری که بتوان در بستر اینترنت انجامش داد. کارهایی از قبیل:

فعالیت به عنوان مجری یا فریلنسر

اگر توانایی انجام کارهای سفارش داده شده از جانب خریداران رو داری می تونی اقدام به کسب در آمد از پارسکدرز کنی. از تایپ و ترجمه گرفته تا طراحی گرافیکی، برنامه نویسی و پیاده سازی سیستم های بزرگ.

پارسکدرز با استفاده از سیستم مالی گروگذاری وجه امنیت مالی طرفین را تضمین می کند. این به این معنی است که شما پس از اطمینان از انجام صحیح پروژه حتما هزینه انجام کار را دریافت می کنید.

فعالیت به عنوان کارفرما یا خریدار

اگر پروژه ای برای انجام داری و قصد داری انجام اون رو به افراد حرفه ای بسپاری کافیه که در پارسکدرز عضو بشی و درخواست خودت رو ثبت کنی تا مجری ها اون رو ببیند و برات پیشنهاد ارسال کنند.

پارسکدرز علاوه بر داشتن نماد اعتماد دو ستاره با استفاده از سیستم مالی گروگذاری وجه، امنیت مالی طرفین را تضمین می کند. این به این معنی است که شما پس از اطمینان از انجام صحیح پروژه خود وجه را آزاد خواهید کرد. همچنین شما می توانید جهت اطمینان بیشتر از مجری بخواهید تا ضمانتی بابت تخصص خود گرو بگذارد.