از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
پانزده سال پیش منتشر شده
تعداد بازدید: 4370
کد پروژه: 2669
شرح پروژه
پروژه اول درس ساختمان داده
دانشگاه سيستان و بلوچستان
________________________________________
انديس گذاري کتاب
در انتهاي اغلب کتابها چند صفحه به عنوان صفحات انديس انتخاب مي شوند. هدف جستجوي سريع لغات کليدي به کار گرفته شده در کتاب است. لغات کليدي به ترتيب الفبا مرتب مي شوند. به يک لغت کليدي مي توان يک يا چند شماره صفحه نسبت داد. براي سرعت دادن به عمل جستجو به هر حرف الفبا يک ليست پيوندي شامل لغاتي که با اين حرف شروع مي شوند نسبت داده مي شود. به مثال زير توجه کنيد. حرف اول کلمه نشان مي دهد کدام ليست بايد انتخاب شود. سپس جستجو در اين ليست ادامه مي يابد. توجه کنيد که با يک کلمه مي تواند چند شماره صفحه متناظر شود.
ساختمان داده مناسب براي اين مسئله را طراحي کنيد. توجه کنيد لغات بايد در چند ليست پيوندي نگهداري شوند اما مي توانيد براي افزايش سرعت جستجو تکنيکهايي بر مبناي آرايه يا هر ساختمان داده ديگري ارائه ديد. بايد امکان افزودن يک لغت يا يک شماره صفحه جديد براي يک لغت، حذف و جستجوي يک لغت وجود داشته باشد.
ورودي و خروجي:
يک فايل ورودي به نام data.txt تعريف مي شود که در هر خط آن يک لغت و يک شماره صفحه متناظر با آن لغت نوشته مي شود. لغت و شماره صفحه با يک فاصله از هم جدا مي شوند.
مثال براي فايل data.txt (توجه شود يک لغت مي تواند در خطوط مختلف تکرار شود)
door 411
apple 123
boy 153
dog 14
axe 122
apple 200
يک فايل به نام ins.txt تعريف مي شود که در هر خط آن مي تواند يکي از دستورات زير نوشته شود:
• نام لغتSearch : اگر لغت وجود داشت همه شماره صفحات متناظر با آن چاپ مي شود. در غير اين صورت نوشته مي شود : not found
• شماره صفحه نام لغت Insert : در صورتي که لغت و شماره صفحه آن وجود نداشته باشد درج مي شود در غير اين صورت در خروجي نوشته مي شود : not inserted
• نام لغت Delete : لغت و همه شماره صفحات آن حذف مي شود.
به عنوان مثال اگر فايل ins.txt به صورت زير باشد خروجي آن در ادامه نوشته شده است:
Search apple
Search you
Delete apple
Search apple
Insert dog 14
Insert bark 32
Search bark
خروجي:
123 200
Not found
Not found
Not inserted
32
با استفاده از امکاناتي که زبان برنامه نويسي فراهم مي کند زمان اجراي برنامه خود را محاسبه کنيد. به عبارت ديگر در پايان خروجي زمان اجراي کل برنامه نوشته مي شود.
________________________________________
توجه:
• برنامه شما براي تعداد زيادي داده تست خواهد شد. به عبارت ديگر فايل data.txt حجيم است و زمان اجراي برنامه اهميت زيادي دارد.
• ممکن است در فايل data داده هاي تکراري وجود داشته باشد. برنامه شما بايد اين داده ها را تشخيص داده و از درج مجدد آنها جلوگيري کند.
• حتما براي قسمتهاي مختلف کد توضيحات لازم را بنويسيد. (comment)
• پروژه ها بايد در گروه هاي حداکثر سه نفره انجام شوند.
• حضور همه افراد گروه در هنگام تحويل پروژه الزامي است.
• مهلت تحويل پروژه 89/2/2 مي باشد.
• به پروژه هاي مشابه نمره اي تعلق نمي گيرد.
زیرساخت:
سي#
مهارت ها و تخصص های مورد نیاز
مبلغ پروژه
12,000 تومان
مهلت برای انجام
0روز
وضعیت مناقصه
انجام شده
درباره کارفرما
عضویت پانزده سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار