تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: الگوریتم دیکشنری

  1. #1
    داره خودمونی میشه Arman_BM's Avatar
    تاريخ عضويت
    Jan 2006
    محل سكونت
    تهران
    پست ها
    121

    12 الگوریتم دیکشنری

    سلام دوستان!
    جالبه که پروژه ی بنده هم مثل جناب (آقای؟) axdarax نوشتن دیکشنری هست! اما فرقمون اینه که من خودم این پروژه رو به استاد پیشنهاد دادم ! و الان مثل بعضی چیز ها در گل گیر کرده ام! چون هرچی فکر میکنم یا خیلی ساده میشه که استاد نمره نمیده! یا خیلی سخت که استاد نمره نمیده! (فکر میکنه دادم بیرون بنویسن!)

    خارج از شوخی من میخوام به صورت یک درخت بنویسم.

    هر گره از 28 تا اشاره گر و یک خانه ی String به نام value تشکیل شده.
    تمام حروف الفبا هم نماد آن 28 اشاره گر هستند.
    اگر مثلا ABAD را سرچ کنند، از ریشه به فرزند A میره و از A به فرزندش گره Bو سپس به A میره و به همین ترتیب تا برسه به D که پدرش A هست و پدر بزرگش B و جد بزرگشم A هست . د خانه ی ارزش آن (D) معنی لغت ABAD را مینویسیم.

    این سبک نوشتن پیچیدگی زمانی خیلی پاینی داره که میشه :O(N) که N در اون تعداد حروف اون لغتی هست که جستجو میکنیم.

    اما اسفاده از فضاش خیلی بالا بنظر میاد.
    نظر شما چیه؟


    این هم یه روش ساده مخصوص دوستمون جناب axdarax:
    مثلا یه لیست پیوندی ساده که سه تا گره داشته باشه و یا خیلی ساده تر ! دو تا آرایه به نام های A و B که تو یکی لغت ها باشه تو یکی دیگه معادلش معنی ها و فقط یه جستجوی ساده بنویسم که:
    While(A[i]!=KEY){
    i++}
    Printf(%C"b[i]")

    دو نکته ی مهم:
    اول اینکه باید لغات در A باشد و معانی آن ها در B و آرایه ی B یک خانه بیشتر داشته باشد که در آن عبارت "Not Found" نوشته شده باشد.
    دوما برای رشته ها نمیتوان از مقایه سه ی مساوی استفاده کرد و باید از دستور مخصوص آن که الان خضور ذهن ندارم اما فکر کنم StrCom بود استفاده کنن.
    سوما در حلقه ی بالا باید یک شرط برای خاتمه ی حلقه نیز نوشته بشه.
    مثلا به کمک && میتوان این کار را کرد!






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



    راستی دوستان نظرشون رو در باره ی برنامه ی من بدن لطفا ! اون اولیه ها! اون درخته! بنظرتون عملیه؟! معتاد نه! عملی! یعنی میشه به مرحله یعمل رسوندش؟
    Last edited by Arman_BM; 08-01-2010 at 23:49.

  2. #2
    پروفشنال soheilsmart's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴
    پست ها
    941

    پيش فرض

    آره شدنش که میشه من با از استفاده از روش درخت الفبا (همین روشی که گفتی) این رو به جاوا نوشتم
    (البته با قرمز -سیاه یا AVL هم میشه)
    برای هر گره فیلد های boolean
    isWord
    isLeaf
    در نظر بگیر
    معنی هر کلمه رو بذار آخرین حرف همون کلمه
    برای no match found من یه کار دیگه انجام
    دادم
    البته من با کلاس خود ارجاع گره رو نوشتم تا پویا باشه
    اگه خواستی بگو کد جاوا رو بذارم!
    موفق باشی

  3. این کاربر از soheilsmart بخاطر این مطلب مفید تشکر کرده است


  4. #3
    داره خودمونی میشه Arman_BM's Avatar
    تاريخ عضويت
    Jan 2006
    محل سكونت
    تهران
    پست ها
    121

    پيش فرض

    اممنون اینی که شما میگی پبچبدگی الگوریتمش چقدر میشه؟

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •