پروژه جاوا (82230)
سلام پروژه دانشجویی انجام میدید؟ ممنون درس الگوریتم و ساختمان داده چندتا تکلیفه چند سری میخوام مزاحمتون شم مقطع لیسانس مهندسی کامپیوتر هنوز تکلیفامونو ندادن ولی این هفته میاد ساخت یک ساختار داده که به مقدار کمی از حافظه اصلی نیاز دارد اما بتواند به سرعت در یک فایل بزرگ در حافظه ثانویه جستجو کند کار با متون ذخیرهشده با کدگذاریهای مختلف یک کنکوردانس ساختار دادهای است که در آن میتوانید کلمات را جستجو کرده و تمامی موارد استفاده از آن کلمه را همراه با کلمات نزدیک به آن در متن مشاهده کنید. این ابزار برای زبانشناسانی که میخواهند نحوه استفاده از کلمات مختلف در زبان را بررسی کنند، بسیار مفید است. در این تمرین، شما باید برنامهای بنویسید که با توجه به یک متن، یک ساختار داده کنکوردانس در سیستم فایل ایجاد کند و همچنین برنامهای که از کاربر درباره یک کلمه پرسیده، آن را جستجو کند و تمامی موارد استفاده از آن را در متن نشان دهد. مهم است که هر جستجو خیلی سریع انجام شود، بنابراین برنامه اول باید ساختار داده کنکوردانس را به گونهای ذخیره کند که جستجو سریع انجام شود. الزامات کنکوردانس نباید بین حروف بزرگ و کوچک تفاوت قائل شود. کاربر باید بتواند تمامی سوالات جستجو را با حروف کوچک، بزرگ یا ترکیبی از آنها بنویسد. ساختار داده کنکوردانس باید به گونهای باشد که بتواند با حداقل حافظه به سرعت در فایلهای بزرگ جستجو کند و به صورت موثری کار کند. همچنین برنامه جستجو باید نتایج جستجو را به صورت مناسب و با رعایت شرایط بیانشده در سند ارائه دهد توضیح وظایف: 1. برنامهنویسی: شما باید برنامهای بنویسید که یک ساختار داده کنکوردانس را از یک متن ایجاد کند. همچنین، برنامه دیگری باید نوشته شود که بتواند کلمات را جستجو کرده و تمامی موارد استفاده از آن کلمه را در متن نمایش دهد. برنامه ساخت نیازی ندارد بسیار سریع باشد زیرا فقط یک بار اجرا میشود، اما باید به اندازه کافی کارآمد باشد تا بتواند ساختار داده کنکوردانس را در زمان معقولی ایجاد کند. نباید بیش از سه دقیقه طول بکشد تا ساختار داده کنکوردانس بر روی یک رایانه Ubuntu ایجاد شود (علاوه بر زمان اجرای tokenizer و sort). • خروجی برنامه جستجو باید با یک خط آغاز شود که تعداد موارد استفاده را نشان میدهد. سپس هر مورد از کلمه باید در هر خط با مثلاً 30 کاراکتر قبل و 30 کاراکتر بعد ارائه شود. جایگزین کردن شکستن خطوط با فاصله. اگر بیش از 25 مورد وجود داشته باشد، برنامه باید از کاربر بپرسد آیا میخواهد موارد استفاده روی صفحه نمایش داده شود یا خیر. باید بتوانید یک کلمه مانند "bil" را از طریق ترمینال جستجو کنید. • برنامه جستجو نباید کل متن را بخواند و نباید از حافظه داخلی زیادی استفاده کند. نیازهای حافظه داخلی نباید با تعداد کلمات متمایز در متن اصلی افزایش یابد (به عبارت دیگر، پیچیدگی حافظه داخلی باید ثابت باشد). بنابراین باید از هشکدگذاری تنبل (lazy hashing) به عنوان ساختار داده استفاده کنید. در زمان ارائه، باید بتوانید اثبات کنید که پیچیدگی حافظه داخلی برای برنامه جستجو ثابت است. • سعی کنید فقط از جستجوی خطی در فایل شاخص استفاده کنید و با استفاده از جستجوی باینری ابتدا جستجو کنید تا فاصله جستجو کوچک شود و سپس جستجوی خطی (مشاهده کد شبه در درس 2) را ببینید که آیا تفاوتی در زمان اجرا برای برخی از کلمات جستجو ایجاد میکند یا خیر. برای چه نوع کلمات جستجو باید به طور تئوری سریعتر باشد با استفاده از جستجوی باینری؟ میتوانید زمان اجرا را با استفاده از فرمان یونیکس time (نوشتن time در ابتدای فرمانی که برنامه جستجو را شروع میکند) اندازهگیری کنید و به زمان برای کاربر نگاه کنید با java 1733
امتیاز : 0/5
فایل ضمیمه
هیچ فایلی ضمیمه نشده است
تایم لاین پروژه
درخواست پشتیبانی-
در انتظار پرداخت
پرداخت تعرفه ثبت پروژه های غیر رایگان
-
در حال بررسی
برسی و تایید پروژه از طرف مدیرت سایت
-
آماده دریافت پیشنهادها
تایید پروژه و نمایش برای مجریان
-
در انتظار پرداخت هزینه پروژه
پرداخت هزینه اجرای پروژه توسط کارفرما
-
در انتظار پرداخت ضمانت اجرا
پرداخت مبلغ ضمانت اجرا توسط مجری
-
در حال انجام
پروژه شما درحال انجام می باشد
-
انجام شد
اتمام اجرای پروژه
لیست پیشنهادها
هیچ پیشنهادی ارسال نشده است
- اطلاعات پروژه
- 9213کد پروژه
-
کمک آموزشی
دسته بندی - 06 شهریور 1403تاریخ ثبت
- 3 روزمهلت اجرا
- 100,000 تومانحداقل بودجه
- 300,000 تومانحداکثر بودجه
- 5 درصد ضمانت اجرا
- آماده دریافت پیشنهادها وضعیت