PDA

View Full Version : برنامه ی محاسبه ی کمترین اختلاف دو رشته(قابل استفاده در دیکشنری)



Alt+F4
پنج شنبه 25 تیر 1388, 11:33 صبح
این برنامه دو رشته را گرفته و با همدیگر مقایسه میکند به صورتی که کمترین مورد اختلاف آنها را به خروجی می برد.
کاربرد این برنامه در دیکشنری ها میباشد.یعنی جایی که در میان انبوهی رشته به دنبال رشته ای که نزدیک ترین رشته یه رشته ی مورد نظر ماست می گردیم
برای مثال دو رشته ی sunny,snowy را در نظر بگیرید.اختلاف آنها 3 می باشد.بدین شکل که بهترین نحوه ی چیدمان این دو رشته را که بصورت زیر است چیده و اختلاف آنها را بیان میکند.
(هر اندازه blank میتواند در مابین هر دو رشته قرار گیرد)

s1=sunn y
s2=s nowy
در این مثال از سمت چپ به راست که بررسی کنیم موارد اختلاف :
u از s1 با blank از s2 ؛
n دوم از s1 با o از s2 ؛
blank از s1 با w از s2؛
میباشد.
این چیدمان بهترین چیدمان برای یافتی کمترین اخنلاف این دو رشته میباشد.برنامه ی بنده عدد نهایی که در این مثال برابر 3 میباشد را به خروجی میبرد.
به زحمت اجراش می ارزه.با اجرا کردنش همه ی پروژه دستتون میاد.:لبخند::تشویق:
در یک مثال دیگه ،دو رشته ی polynomial و exponential کمترین مورد اختلاف 6 هستش.

tdkhakpur
پنج شنبه 25 تیر 1388, 11:53 صبح
سلام
ببینید اگر منظورتان کار یک دیکشنری هست باید عرض کنم که در قسمت ورود اطلاعات - داده های دیکشنری به هنگام ورود مرتب میشوند و احتیاجی به مرتب سازی مجدد نیست.
باتوجه به مرتب بودن لغات در دیکشنری فقط با بررسی حروف از چپ به راست میتوانید مشابهت را در یابید.
یعنی هرچه جستجو از ابتدا به انتهای فایل نزدیکمیشود مشابهت نزدیکتر خواهد بود.
این طرح کلی همه دیکشنری هاست.

sang9111
پنج شنبه 25 تیر 1388, 13:06 عصر
سیستم حدس کلمه موتور های جستجو که اگر کلمه رو اشتباه نوشتید تصحیح می کنه مثال درست تره باشه

Alt+F4
پنج شنبه 25 تیر 1388, 23:53 عصر
دوست عزیز به هیچ عنوان منظور من سیستم پیشنهاد ادامه کلمه در دیکشنری ها نبود.چون اساس کار در این سیستم ها بر مرتب سازی و Align کردن کلمات از چپ می باشد.به طوری که اگر در بانکمان دو کلمه snovv,snoby موجود باشد و ما به دنبال نزدیک ترین گزینه به snowy باشیم با این روش گزینه ی snovv در اولویت اول به ما پیشنهاد خواهد شد. چون از لحاظ الفبایی به snowy نزدیک تر است.
این در حالی است که با الگوریتم نوشته شده ی بنده کلمه ی snoby به عنوان کلمه ی نزدیک تر به snowy انتخاب خواهد شد.چون مورد اختلاف snowy با snoby 1 عدد ولی با snovv 2 عدد می باشد.
در کل کار این دو سیستم ، کار کاملأ متفاوتی می باشد.کار اولی پیشنهاد ادامه ی کلمه و کار برنامه ی بنده یافتن نزدیک ترین گزینه به کلمه ی مورد نظر می باشد.که همون طوری که sang9111 نیز اشاره کردند یکی دیگه از کاربرداش در حدس کلمه موتور های جستجو هستش.:تشویق: