نمایش نتایج 1 تا 3 از 3

نام تاپیک: key/value pairs

  1. #1

    key/value pairs

    سلام
    دوستان محترم در مورد key/value pairs توضیحاتی میخواستم، این که چی هست ؟ چ کاربرد های داره ؟؟ و چ طور میشه تشخیص داد تو ی برنامه چ چیزیو به عنوان key و چیو به عنوان value در نظر گرفت ؟؟؟؟
    ممنون

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: key/value pairs

    key/value یک اصطلاح هست که معمولا در بعضی ساختمان های داده ای استفاده میشه. مثلا در HashMap. شما برای هر مقدار (value) یک کلید (key) در نظر میگیرید که این کلید معمولا باید منحصر به فرد باشه. دقیقا همونطور که در حالت ایده آل هر قفلی توسط یک کلید باز میشه، راه رسیدن به اون مقدار (value) هم لازمه فقط یک کلید (key) باشه.
    البته میگم معمولا چون همیشه اینطور نیست. در برخی ساختمان داده ها ممکنه یک کلید برای چند مقدار استفاده بشه. در نتیجه یا با جستجو اون کلید یکی از مقادیر مرتبط رو بهت میده یا تمامی مقادیر رو با اون کلید رو بهت میده. این بستگی به نوع ساختمان داده داره.

    به هر حال، جستجو در یک ساختمان داده بزرگ بر اساس کلید معمولا خیلی سریعتر انجام میشه و برای همین کلیدها کاربرد دارند. مثلا ساختمان داده ای به صورت HashMap داریم که اطلاعات تمام دانشجویان رو ذخیره کرده. ما اگر کلید رو شماره دانشجویی قرار بدیم، با وارد کردن شماره دانشجویی خیلی سریع می تونیم به اطلاعات دانشجو دست پیدا کنیم.
    اما اگر یک لیست ساده بود، ممکنه لازم باشه کل لیست رو پیمایش کنید.

    برای درک اهمیت نوع جستجو، کافیه در نظر داشته باشید، فرض کنید 1 میلیارد رکورد دارید. برای جستجو یک رکورد در این یک میلیارد باید تمام این یک میلیارد رو پیمایش کنیم.
    حالا فرض کنید از روشی استفاده کنیم که کلید داشته باشه و بر اساس QuickSearch یا Hash Function بتونیم در اولی با پیچیدگی زمانی log n و دومی با پیچیدگی زمانی 1 بهش دسترسی پیدا کنیم. یعنی برای اولی میشه 30 مقایسه (به جای 1 میلیارد مقایسه) و برای دومی میشه 1 مقایسه (به جای 1 میلیارد مقایسه). هر چند 1 مقایسه عبارت درستی نیست برای Hash ولی به هر حال اینطور میتونی تصور کنی.

    فکر میکنم تفاوتش واضح شد

  3. #3

    نقل قول: key/value pairs

    ممنون از پاسختون

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •