stanford-oval/wikipedia huggingface dataset:
زنی با موهای قرمز (کتاب)

| 0 | 1 |
| --- | --- |
نویسنده(ها): اورهان پاموک
برگرداننده(ها): رؤیا پورمناف
کشور: ترکیه
زبان: ترکی استانبولی
گونه(های) ادبی: رمان
ناشر: Yapı Kredi ناشر فارسی: نشر هونار
تاریخ نشر: آگوست ۲۰۱۶ تاریخ نشر فارسی: مهر ۱۳۹۵
شابک: شابک ‎۹۷۸۶۰۰۸۱۸۳۰۱۳
زنی با موهای قرمز (به ترکی استانبولی: Kırmızı Saçlı Kadın)، رمانی‌ست از اورهان پاموک که در سال ۲۰۱۶ منتشر شده‌است. اورهان پاموک موضوعات جاری را از طریق افسانه‌های زمان‌های مختلف درهم آمیخته و آن را با عشق، حسادت، و رابطه بین پدر و پسر، به وسیله تصاویری که از حوادث تاریخی ایجاد می‌کند، نشان می‌دهد. با مطالعه این کتاب می‌توان در مورد تجربیات آن دوره صاحب نظر شد.

پاموک در مورد «زنی با موهای قرمز» عبارات زیر را بیان کرده‌است:
«گفتم از کتاب سیاه خسته شدم و رمان کوتاهی خواهم نوشت، گفتم اقیانوس‌ها را درمی‌نوردم، گفتم مگر ممکن است که رمان کوتاهی بنویسم، این هنر و تجربه‌ای است که در خودم ندیده‌ام. اگر به من باشد، زنی با موهای قرمز هم کوتاه، هم نظریه‌ای در مورد هویت ملیت شرقی - غربی و هم به خاطر کشف موضوعاتی مانند ارتباط فردیت و تمدن، کاملاً متفاوت است.»
موضوع داستان

«جِم» یک دانش‌آموز دبیرستان است که در سال ۱۹۸۰ با مادرش در استانبول زندگی می‌کند. جم با مادرش صمیمی‌تر و از پدرش کمی دور است. پدر جِم داروخانه دارد، جم هر روز برای پدرش نهار می‌برد. مادرش روزی می‌گوید که پدرش دیگر باز نخواهد گشت، جم از این موضوع غصه‌دار می‌شود اما برای اینکه دچار مشکل مالی نشود و از آنجا که برای تحقق رؤیای ورود به دانشگاه، رفتن به کلاس‌های درس را ضروری می‌داند، شروع به جستجوی کار می‌کند و برای اولین بار در یک کتابخانه شروع به کار می‌کند. پس از آن بنا بر توصیه‌ای به کار چاه‌کنی مشغول می‌شود.

از دیگر قهرمانان رمان، می‌توان به خیری بیک اشاره کرد که قصد دارد یک کارخانه نساجی تأسیس کند، اما برای این کارخانه در منطقه کار حفاری لازم است. چون در آن زمان حفاری مکانیزه وجود نداشت به چاهکن مراجعه می‌کند و کار را به «اوستا محمود» برای پیدا کردن آب واگذار می‌کند. اوستا محمود به همراه جم و علی، کار حفاری را آغاز می‌کنند. در یک زمان کوتاه جم که به اوستامحمود وابستگی پیدا کرده و با دلبستگی شدیدی به او، او را مثل پدرش می‌بیند. کار پیدا کردن آب در منطقه احداث کار خانه نساجی به درازا می‌کشد و جم با زنی با موهای قرمز روبرو شده و عاشق او می‌شود. جم که هر روز تلاش می‌کند این زن را ببیند. پس از زمان اندکی می‌فهمد که او بازیگر تئاتر و همچنین متأهل میباشد.

جم و زن موقرمز، در یک روز که همسر زن در خانه نیست، با هم دیدار کرده و با یکدیگر وقت می‌گذرانند. در این بین علی شاگرد اوستا محمود کار را رها می‌کند. یک روز زمانی که جم با اوستا مشغول کار است، سطلی از ارتفاع بیش از ۲۰ متری بر سر استادش می‌افتد و جم تصور می‌کند که نمی‌تواند نجاتش دهد و سپس کار و شهر را رها می‌کند.

سال‌ها بعد که جم یک پیمانکار حرفه‌ای شده‌است، برای کاری به «اونگرن» (شهری که داستان در آن اتفاق می‌افتد) می‌رود و متوجه می‌شود که پسری به نام انور از زن مو قرمز دارد. انور خودش را فرد دیگری به پدرش معرفی می‌کند و در نزاعی که بین این دو رخ می‌دهد، انور پدرش را کشته و به زندان می‌رود.
درون‌مایه داستان

اگرچه داستان حول محور رابطهٔ پدر و فرزندی می‌گذرد، پاموک سعی می‌کند با توسعهٔ این داستان، نگاهی تازه‌ به هر گونه رابطهٔ مرید و مرادی بیندازد؛ چه این رابطه، رابطهٔ پدر و فرزند باشد، چه رابطهٔ حکومت و شهروند و چه رابطهٔ خدا و بنده. ایدهٔ اصلی بسیاری از داستان‌های کلاسیک پیشگویی اتفاقات پیشِ‌روست؛ به پادشاهی می‌گویند فرزندت تو را خواهد کشت و او به خیال خودش از شر فرزند خلاص می‌شود. بعدها همان فرزند او را می‌کشد و تخت پادشاهی را سرنگون می‌سازد؛ درونمایهٔ رایج بسیاری از داستان‌های اسطوره‌ای در ملل و مذاهب مختلف. پاموک نیز در زنی با موهای قرمز  از همین مفهوم استفاده می‌کند. او در استانبول -محل تلاقی شرق و غرب- افسانه‌ای از شرق را با افسانه‌ای از غرب در هم می‌آمیزد و ضمن قرارگرفتن در جایگاه یک قصه‌گوی پُرگوی کلاسیک، سعی می‌کند از زاویه‌ای دیگر هم به شخصیت‌های داستانش نزدیک شود. برای پاموک تنها ارائهٔ روایتی از سرنوشت ادیپ «سوفکلس» یا سهراب «فردوسی» مطرح نیست، بلکه او بیش از هر چیز می‌خواهد با نزدیک‌شدن به فردیت ادیپ یا سهراب، فارغ از داستان کلی نگاهی بیندازد بر احوالات فردی آنها؛ اینکه بر آن‌ها چه گذشت و رنج‌ها، دغدغه‌ها، دلتنگی‌ها و مسائلشان چه بود. این چیزی بیشتر از نگاه به یک عنصر منفعل در داستان که سرنوشتش از پیش تعیین شده، است. اینجاست که برای پاموک، فردیت جِم زیر فرمان‌ها و تعالیم اوستا محمود چاه‌کن، مهم‌تر از پایان داستان خواهد بود؛ همان‌گونه که برای او فردیت فرد در برابر حاکمیت مهم‌تر است. در واقع پاموک سعی می‌نماید با نزدیک‌شدن به فردیت شکنندهٔ قهرمان‌های داستان‌ها به تماشای شکستن آن‌ها در برابر تقدیر، سرنوشت یا هر قدرت برتری که بر فرد مستولی می‌شود، بنگرد و آن را روایت کند.
ترجمه کتاب در ایران

این کتاب در ایران توسط ناشرین و مترجمین متعددی ترجمه شده‌است. از میان آن‌ها می‌توان به نمونه‌های زیر اشاره کرد:
مهر ۱۳۹۵ - زنی با موهای قرمز- رؤیا پورمناف - نشر هونار - شابک: ۹۷۸۶۰۰۸۱۸۳۰۱۳
دی ۱۳۹۵ - زنی با موهای قرمز - مژده الفت - انتشارات نون - شابک: ۹۷۸۶۰۰۷۱۴۱۸۱۶
(مژده الفت  برای ترجمه این کتاب  به عنوان  مترجم برتر مؤسسه فرهنگی یونس امره ترکیه برگزیده شد )
اسفند ۱۳۹۵ - مو قرمز - عین‌له غریب - نشر چشمه - شابک ۹۷۸۶۰۰۲۲۹۷۱۹۸
الین لانتو

| الین لانتو | الین لانتو |
| --- | --- |
اطلاعات پس‌زمینه: اطلاعات پس‌زمینه
زاده: ۲۲ ژوئیهٔ ۱۹۸۴ ‏(۴۰ سال) انشوپینگ، سوئد
ژانر: الکتروپاپ، پاپ راک
پیشه: خواننده
سال‌های فعالیت: ۲۰۰۴-حال
الین لانتو (به انگلیسی: Elin Lanto) (زاده ۲۲ ژوئیهٔ ۱۹۸۴) خواننده سوئدی است.
۸ (قمری)

| 0 | 1 |
| --- | --- |
سده: : سده ۰ - سده ۱ - سده ۲
دهه::  −۳۰  −۲۰  −۱۰  ۰  ۱۰  ۲۰  ۳۰  
سال:: ۵ ۶ ۷ - ۸ - ۹ ۱۰ ۱۱
۸ (قمری)، سال هشتم در گاهشماری هجری قمری است.
رویدادها

۵ جمادی‌الاول: غزوه مؤته میان مسلمانان مدینه و ارتش امپراتوری روم شرقی.
۲۰ رمضان: فتح مکه توسط سپاه مسلمانان
۱۰ شوال: غزوه حنین میان مسلمانان و چند قبیله عرب
زادگان

عبدالله بن حارث
درگذشتگان

۵ جمادی‌الاول: جعفر بن ابی‌طالب از صحابه پیامبر اسلام، کشته شده در غزوه مؤته
 ذی القعده : زینب بنت محمد  دختر پیامبر اسلام
آرماه (نجاشی) پادشاه حبشه
کیشبابوت

| Kisbabot | Kisbabot |
| --- | --- |
  نشان:   نشان
KisbabotLocation of Kisbabot: KisbabotLocation of Kisbabot
مختصات: ۴۷°۳۳′۲۱″شمالی ۱۷°۲۴′۵۲″شرقی﻿ / ﻿۴۷٫۵۵۵۹۰°شمالی ۱۷٫۴۱۴۴۹°شرقی﻿ / 47.55590; 17.41449: مختصات: ۴۷°۳۳′۲۱″شمالی ۱۷°۲۴′۵۲″شرقی﻿ / ﻿۴۷٫۵۵۵۹۰°شمالی ۱۷٫۴۱۴۴۹°شرقی﻿ / 47.55590; 17.41449
کشور:  مجارستان
استان: دیور-موشون-شوپرون
مساحت: مساحت
 • کل: ۶٫۱ کیلومتر مربع (۲٫۴ مایل مربع)
جمعیت (۲۰۰۴): جمعیت (۲۰۰۴)
 • کل: ۲۲۸
 • تراکم: ۳۷٫۳۷/کیلومتر مربع (۹۶٫۸/مایل مربع)
منطقهٔ زمانی: یوتی‌سی +۱ (زمان)
 • تابستانی (DST): یوتی‌سی +۲ (ساعت تابستانی اروپای مرکزی)
کد پستی: ۹۱۳۳
کد منطقه: ۹۶
کیش‌بابوت (به مجاری:  Kisbabot) یک شهرداری در مجارستان است که در ناحیه تت واقع شده‌است. کیش‌بابوت ۶٫۱ کیلومتر مربع مساحت و ۲۲۸ نفر جمعیت دارد.
کارلوس واسکونسلوس

| کارلوس واسکونسلوس | کارلوس واسکونسلوس |
| --- | --- |
وزیر مستعمره‌های پرتغال: وزیر مستعمره‌های پرتغال
دوره مسئولیت ۱۹۲۴ – ۱۹۲۵: دوره مسئولیت ۱۹۲۴ – ۱۹۲۵
پس از: Álvaro Bulhão Pato
پیش از: Henrique Paço d'Arcos
 :  
اطلاعات شخصی: اطلاعات شخصی
زاده: ۶ سپتامبر ۱۸۸۳ فوگو، کیپ ورد
درگذشته: ۲۹ ژوئیه ۱۹۲۸
ملیت: پرتغال
کارلوس واسکونسلوس (انگلیسی: Carlos de Vasconcelos؛ ۶ سپتامبر ۱۸۸۳ – ۲۹ ژوئیه ۱۹۲۸) یک سیاست‌مدار و روزنامه‌نگار اهل پرتغال بود که در کلیسای کیپ ورد متولد شد.
وی وزیر مستعمرات پرتغالی تحت حکومت خوزه دمینگ دو سانتوس از ۲۲ نوامبر ۱۹۲۴ تا ۱۵ فوریه ۱۹۲۵ بود.
کارلوس واسکونسلوس فارغ‌التحصیل در Escola de Guerra (مدرسه جنگی) در لیسبون بود و در روز ۲ ژوئن ۱۹۰۵ در فوگو در خانه گمرک استان کیپ ورد مشغول به کار شد. وی از زمان تحصیل جمهوری‌خواه بود و از اعلامیه جمهوری پرتغال حمایت کرد.
او در ۲ ژانویه سال ۱۹۴۴، به عنوان رئیس شهرداری جزیره فوگو انتخاب شد و بعداً معاون کیپ ورد در سال ۱۹۲۲ بود.
شهرستان توله بی

| شهرستان توله بی Төле би ауданы تولە بي اۋدانى Толебийский район | شهرستان توله بی Төле би ауданы تولە بي اۋدانى Толебийский район |
| --- | --- |
منطقه: منطقه
موقعیت تول بی در نقشه: موقعیت تول بی در نقشه
کشور:  قزاقستان
استان: استان ترکستان
شهر مرکزی: لنگر
جمعیت (۲۰۱۳): جمعیت (۲۰۱۳)
 • کل: ۱۳۲۰۷۳
منطقهٔ زمانی: یوتی‌سی +۶ (East)
تول بی (به قزاقی: Төле би ауданы، تولە بي اۋدانى) یک شهرستان در قزاقستان است که در استان ترکستان واقع شده‌است.
وجه تسمیه

نام این شهرستان برای ارج نهادن به ادیب، سیاست‌مدار و قاضی زادهٔ سال ۱۶۶۳ میلادی در همین منطقه، «توله بی علی‌بک‌اولی» (به قزاقی: Төле би Әлібекұлы، تولە بي الىبەكۇلى) انتخاب شده است.
خصوصیات

شهرستان توله بی ۱۳۲٬۰۷۳ نفر جمعیت دارد.
تابع هش

یک تابع درهمک‌سازی نوعی اینگونه کار می‌کند.
تابع هش (به انگلیسی: Hash function) یا تابع درهَمَک‌ساز یا تابع چکیده‌ساز به هر رویه خوش تعریف یا تابع ریاضی می‌گویند که حجم زیادی از داده (احتمالاً حجم نامشخصی از داده) را به یک عدد طبیعی تبدیل کند. عدد طبیعی حاصل از تابع درهم‌سازی به عنوان اندیس یک آرایه مورد استفاده قرار می‌گیرد. مقادیر حاصل از این تابع را معمولاً مقدار هش یا فقط هش یا درهَمَک می‌خوانند. این توابع کاربردهای وسیعی در علوم کامپیوتر از جمله حفظ یکپارچگی داده‌ها دارند.
نرخ هش: تعداد هش بر ثانیه: واحد اندازه گیری قدرت محاسباتی در کامپیوتر ها. یعنی تعداد محاسباتی که یک کامپیوتر می‌تواند در هر ثانیه انجام دهد.
مقدمه

توابع درهم‌سازی بیشتر برای سرعت بخشیدن در جستجوی جدول‌های، فشرده‌سازی داده‌ها، درج یا حذف برای مجموعه پویایی که تعداد عناصر آن در طول زمان تغییر می‌کند، استفاده می‌شوند مانند جستجوی چیزی در یک پایگاه داده، تشخیص رکوردهای تکراری در حجم زیاد داده یا کشیدگی‌های مشابه در دنباله دی‌ان‌ای (DNA) و بسیاری کاربردهای مشابه. در این مقاله دربارهٔ داده ساختاری به نام جدول درهم‌سازی و روش درهم‌سازی صحبت می‌کنیم که با طراحی درست همه این اعمال را در بدترین حالت و نیز در حالت میانگین با هزینهٔ O(1) انجام می‌دهد.
چیستی

فرض کنید کلیدها اعداد صحیحی از یک تا ۱۰۰ باشند و حدود ۱۰۰ رکورد وجود دارد. یک روش کارآمد برای مرتب‌سازی رکوردها، ایجاد آرایه S با ۱۰۰ عنصر و نگهداری رکوردی با کلید i در [S[i است. بازیابی، بدون درنگ صورت می‌پذیرد و مقایسه کلیدها صورت نمی‌پذیرد. اگر حدود ۱۰۰ رکورد وجود داشته باشد و کلیدها، شماره‌های شناسایی ۹ رقمی باشند، همین راهبرد را می‌توان به کار برد ولی به لحاظ حافظه، کارایی بسیار کمی دارد زیرا آرایه‌ای با یک میلیارد عنصر برای نگهداری تنها ۱۰۰ رکورد مورد نیاز است. به طریق دیگر، می‌توانیم آرایه‌ای با تنها ۱۰۰ عنصر که از ۰ تا ۹۹ اندیس‌گذاری می‌شود، ایجاد کنیم و هر کلید را به مقداری میان ۰ تا ۹۹ درهم‌سازی (به انگلیسی: Hash) کنیم. تابع درهم‌سازی تابعی است که هر کلید را به یک اندیس تبدیل می‌کند و استفاده از تابع درهم‌سازی در مورد یک کلید خاص را «کلید درهم‌سازی» (به انگلیسی: Hash key) می‌گویند. در مورد شماره‌های شناسایی، یک تابع درهم‌سازی ممکن، عبارت‌است از:
h(key) = key %100
(٪ به معنای باقی‌مانده تقسیم کلید بر ۱۰۰ است) این تابع صرفاً دو رقم آخر کلید را بازمی‌گرداند. اگر یک کلید درهم‌سازی، به i درهم‌سازی شود، کلید و رکورد آن را در [S[i نگهداری می‌کنیم. این راهبرد کلیدها را به ترتیب نگهداری نمی‌کند، یعنی این تابع فقط در صورتی قابل استفاده‌است که هرگز نیاز به بازیابی کارآمد داده‌ها به صورت ترتیبی نباشد. اگر نیاز به این کار باشد، یکی از روش‌های بحث شده در قبل را باید به کار برد.
اگر هیچ دو کلیدی به یک اندیس یکسان درهم‌سازی نشوند، این روش به خوبی عمل می‌کند. ولی هنگامی که تعداد قابل ملاحظه‌ای کلید وجود داشته باشد، به ندرت چنین می‌شود. برای مثال، اگر ۱۰۰ کلید وجود داشته باشد تعداد حالاتی که هیچ دو کلیدی به یک اندیس یکسان درهم‌سازی نشوند نسبت به  تعداد حالاتی که هر کلید به هر یک از ۱۰۰ اندیس درهم‌سازی شود،  ، عبارت است از:
جدول آدرس‌دهی مستقیم

در آدرس‌دهی مستقیم فرض می‌کنیم که مجموعه جهانی U نسبتاً کوچک است و  k\subseteq {0,1,...,m-1} که m در آن خیلی بزرگ نیست، برای نمایش پویایی از این عناصر از آرایه  T[0....m-1] به نام جدول آدرس‌دهی مستقیم استفاده می‌کنیم که در درایه iام تنها عنصری با کلید i می‌تواند قرار گیرد و درایه‌های دیگر خالی یا null هستند. اما هنوز این مشکل وجود دارد که این روش برای mهای بزرگ پاسخگو نیست و برای حل آن از جدول درهم‌سازی استفاده می‌شود.
نمایش اضافه شدن کلید جدید

تقریباً مطمئن هستیم که حداقل دو کلید به یک اندیس درهم‌سازی می‌شوند. چنین رویدادی را برخورد Collision یا تصادف می‌گویند. راه‌های گوناگونی برای برطرف‌کردن در برخوردها وجود دارد. یکی از بهترین راه‌ها، استفاده از درهم‌سازی باز (یا آدرس‌دهی باز(به انگلیسی: Open Addressing)) است. برای درهم‌سازی باز، باکتی (سطل) برای هر مقدار درهم‌سازی ممکن ایجاد می‌کنیم و همه کلیدهایی را که به مقدار موجود در یک باکت درهم‌سازی می‌شوند، در باکت مربوط به آن قرار می‌دهیم. درهم‌سازی باز را معمولاً با لیست‌های پیوندی پیاده‌سازی می‌کنند. برای مثال، اگر درهم‌سازی را به دو رقم آخر اعداد انجام دهیم، آرایه‌ای از اشاره‌گرهای باکت را ایجاد می‌کنیم که از ۰ تا ۹۹ اندیس‌گذاری می‌شوند. همه آن کلیدهایی که به i درهم‌سازی می‌شوند در یک لیست پیوندی(به انگلیسی: Link List) که از [Bucket[i شروع می‌شود، قرار داده می‌شوند این نکته در شکل نشان داده شده‌است.
روش دیگری نیز برای برطرف کردن برخورد به نام روش زنجیره‌ای وجود دارد که در ادامه بیان خواهد شد.
نمایشی از درهم‌سازی باز و جدول درهم‌سازی

لازم نیست تعداد باکت‌ها با تعداد کلیدها برابر باشد. برای مثال، اگر به دو رقم آخر درهم‌سازی کنیم، تعداد باکت‌ها باید ۱۰۰ باشد؛ ولی، می‌توانیم ۱۰۰۰، ۲۰۰، ۱۰۰ یا هر تعداد کلید را نگهداری کنیم. البته هر چه تعداد کلیدهایی که نگهداری کنیم بیشتر باشد، احتمال وجود برخورد بیشتر است. اگر تعداد کلیدها بزرگتر از تعداد باکت‌ها باشد، حتماً برخورد داریم. چون باکت فقط یک اشاره‌گر را نگهداری می‌کند، فضای چندانی با اختصاص دادن به باکت اتلاف نمی‌شود؛ بنابراین، غالباً منطقی است که تعداد باکت‌ها به اندازه تعداد کلیدها باشد.
هنگام جستجو به‌دنبال یک کلید، باید یک جستجوی ترتیبی در میان باکت (لیست پیوندی) حاوی کلید انجام دهیم. اگر همه کلیدها در یک باکت درهم‌سازی شوند، جستجو تا حد جستجوی ترتیبی تنزل می‌یابد. احتمال رخ‌دادن آن چقدر است؟ اگر ۱۰۰ کلید و ۱۰۰ باکت داشته باشیم، احتمال آن‌که کلیدها همگی به یک باکت ختم شوند، عبارت است از:
بنابراین، تقریباً برای همه کلیدها غیرممکن است که به یک باکت ختم شوند. دربارهٔ احتمال آن که ۷۰، ۸۰، ۹۰ یا هر تعداد دیگری از کلیدها به یک باکت ختم شوند، چه می‌توان گفت؟ هدف اصلی ما این است که بدانیم احتمال آن که درهم‌سازی، در حالت میانگین به جستجویی بهتر از جستجوی دودویی بینجامد، چقدر است. نشان می‌دهیم که اگر به قدر کافی بزرگ باشد، این نیز تقریباً یک قطعیت به‌شمار می‌رود؛ ولی نخست نشان می‌دهیم که با درهم‌سازی، کارها چقدر بهتر می‌شود.
بدیهی است بهترین حالتی که ممکن‌است رخ دهد این است که کلیدها به‌طور یکنواخت در باکت‌ها توزیع شود؛ یعنی، اگر n کلید و m باکت وجود داشته باشد، هر باکت حاوی n/m کلید می‌شود. در واقع هر باکت دقیقاً هنگامی حاوی n/m کلید می‌شود که n مضرب m باشد. اگر چنین نباشد، یک توزیع نسبتاً یکنواخت خواهیم داشت. قضیه‌های زیر نشان می‌دهد که وقتی کلیدها به‌طور یکنواخت توزیع شده باشند، جه اتفاقی می‌افتد. برای سادگی، آن‌هارا برای توزیعی دقیقاً یکنواخت بیان می‌کنیم (یعنی برای موردی که n مضربی از m باشد).
روش زنجیره‌ای برای حل برخورد

در روش زنجیره‌ای عناصری را که به وسیله تابع درهم‌سازی به یک درایه از جدول درهم‌سازی- مثلاً iS- نگاشته می‌شوند به صورت یک لیست خطی یک‌سویه درمی‌آوریم و آدرس شروع آن را در همان درایه، یعنی  T[i] قرار می‌دهیم. در حالت کلی عناصر با کلیدهای مختلف k که مقدار  h[k] آن‌ها برابر است در لیست پیوندی  T[h(k)] قرار می‌گیرند و درایه‌های خالی جدول هم لیست‌های تهی هستند، به چنین جدولی، جدول درهم‌سازی با روش زنجیره‌ای می‌گوییم. در این روش اعمال درج در زمان  O(1) انجام می‌شود، اما عمل جستجو و حذف با یک عمل جستجوی عنصر همراه است که در بدترین حالت هزینه‌ای متناسب با طول لیست  (O(n)) دارد.
توابع درهم‌سازی

یک تابع درهم‌سازی خوب تابعی است که ساده و یک‌نوا باشد، در ادامه یکی روشهای سادهٔ مختلف را برای طراحی تابع درهم‌سازی را بیان می‌کنیم.
توابع درهم‌سازی > روش ضرب

در این روش ابتدا کلید k را در یک عدد ثابت A که  0<A<1 است ضرب کنیم و قسمت اعشاری آن را به‌دست آوریم. یعنی:

 h(k)=\lfloor m((kA)mod(1))\rfloor 

 (kA)mod(1)\longleftrightarrow kA-\lfloor kA\rfloor 

فرض کنید که کلمهٔ کامپیوتر w بیتی است و k در یک کلمه جای می‌گیرد. A را طوری انتخاب می‌کنیم که برابر  {\frac {s}{2^{w}}} باشد، که در آن s یک عدد صحیح در محدودهٔ  0<s<2^{w} باشد. ابتدا k را در عدد صحیح w بیتی  s=A.2^{w} ضرب می‌کنیم و حاصل ضرب یک عدد 2w بیتی به صورت  r_{1}2^{w}+r_{0} است که  r_{1} کلمهٔ پر ارزش و  r_{0} کلمهٔ کم‌ارزش حاصل ضرب است. عدد p بیتی تابع درهم‌سازی مورد نظر، p بیت پرارزش  r_{0} است.
درهم‌سازی دوگانه

اگر دو رکورد در توابع درهم سازی به یک مکان در فایل انتقال یابند به آن برخورد می‌گویند. روش ایدئال برای مقابله با برخوردها این است که بتوان الگوریتم تبدیلی پیدا کرد که به‌طور کلی از وقوع برخوردها جلوگیری کند.
یکی از راه‌های جلوگیری از برخورد استفاده از روش وارسی خطی است.
روش وارسی خطی با داشتن یک تابع در هم ساز کمکی به نام  g:U->{0,1,....,m-1} از تابع زیر برای درهم سازی استفاده می‌کند:
h(k,i)=(g(k)+i)mod(m) به ازای i = ۰ , ۱ , … m-1
به ازای یک کلید k، ابتدا T[g(k)] را وارسی می‌کنیم سپس به  T[g(k)+1] و بعد به  T[g(k)+2] می‌رویم و این کار را به صورت حلقوی ادامه می‌دهیم تا به  T[g(k)+m-1] برسیم. در این حالت فقط m دنبالهٔ وارسی مجزا تولید می‌شود.
درهم سازی دوگانه یک روش وارسی است که در آن توابع در هم سازی به صورت زیر است:
h(k,i)=(h(k)+ig(k))mod(m)
که در آن توابع h و g تابه‌های درهم ساز کمکی هستند. اولین وارسی در  T(h(k)) انجام می‌شود و وارسی‌های بعدی به درایه‌ای با فاصله  g(k)mod(m) می‌رود. مثالی از این درج در شکل زیر آمده‌است، در این مثال، m=۱۳ و  h(k)=(k)mod(13) و  g(k)=1+((k)mod(11)) است.
چون h(14) = ۱ و g(14) = ۴ است بنابراین کلید ۱۴، پس از آنکه درایه‌های ۱ و ۵ وارسی شده و پر بودند در درایهٔ خالی ۹ درج می‌شود.
در طراحی این درهم سازی باید مقدار  g(k) نسبت به m اول باشد تا اینکه کلیهٔ درایه‌های جدول وارسی شوند. یک روش مناسب انتخاب m به صورت توان ۲ و طراحی g به طوری است که همیشه یک عدد فرد تولید کند. یک روش دیگر آن است که m عدد اول باشد و g همیشه یک عدد صحیح و مثبت کوچکتر از m را تولید کند.
درهم سازی دوگانه نسبت به وارسی خطی و وارسی درجهٔ ۲ بهتر عمل می‌کند، زیرا به تعداد
 m^{2}(\theta ) در مقایسه با  m(\theta ) دنبالهٔ وارسی تولید می‌کند؛ بنابراین به نظر می‌رسد کارایی این درهم سازی به کارایی درهم سازی یکنوا نزدیکتر باشد.
درهم‌سازی سراسری

در هنگام استفاده از توابع درهم سازی اگر تابعی که مورد استفادهٔ ماست توسط کاربر فهمیده شود، کاربر می‌تواند داده‌هایش را طوری وارد کند که تعداد برخوردها زیاد باشند. برای جلوگیری از این اتفاق، از درهم سازی سراسری استفاده می‌کنیم.
یک خانواده از توابع درهم ساز به اسم H را فرض کنید.
می‌گوییم H یک خانواده از توابع درهم ساز سراسری است اگر: در ازای هر دو کلید k1 و k2 که عضو مجموعهٔ کلیدهای مورد نظر ما هستند، تعداد توابع درهم ساز مانند h که عضو H هستند به طوری که  h(k1)=h(k2) حداکثر برابر  {\frac {|H|}{m}} باشد.
هنگامی که کاربر مجموعه‌ای از داده‌ها را وارد می‌کند به صورت تصادفی یکی از توابع درهم سازی را انتخاب می‌کنیم و ورودی‌ها را با استفاده از آن تابع در حافظه ذخیره می‌کنیم. در این صورت دیگر کاربر نمی‌تواند حدس بزند که چه تابعی انتخاب شده و در نتیجه نمی‌تواند مقادیر ورودی را طوری تعیین نماید که تعداد برخوردها زیاد باشد.
درهم‌سازی کامل

گاهی ما در درهم‌سازی با کلیدهای ایستا- که از قبل معلوم هستند- سروکار داریم، در این حالت یک روش درهم‌سازی را کامل می‌نامیم اگر در بدترین حالت تعداد دسترسی‌ها به حافظه برای یک عمل جستجو  O(1) باشد. ایدهٔ اصلی این نوع درهم‌سازی استفاده از دو سطح درهم‌سازی و یک تابع درهم‌سازی سراسری برای هر سطح است.
درهم‌سازی پویا

در روش‌هایی که تا کنون برای درهم‌سازی بحث کرده‌ایم فرض بر می‌شود که تعداد عناصر حداکثر برابر اندازهٔ جدول- روش باز- یا تقریباً برابر آن- روش زنجیره‌ای- است در حالی که در بسیاری از مواقع تعداد عناصر از پیش مشخص نیست و نمی‌توان کران بالای خوبی برای اندازهٔ جدول درهم‌سازی پیش‌بینی کرد که باعث اتلاف حافظه نشود.

برای حل این مشکل از روش درهم‌سازی پویا استفاده می‌شود که در آن اندازه جدول متناسب با نیاز متغیر است؛ که برای تغییر اندازه جدول نیز باید هزینه کنیم اما نشان داده شده است که حتی با هزینه لازم برای تغییر اندازه جداول همچنان کل هزینه برابر  O(1)
می‌ماند.
پانوشت‌ها

↑  «تابع چکیده‌ساز» [رمزشناسی] هم‌ارزِ «cryptographic hash function, hashing algorithm, hash function»؛ منبع: گروه واژه‌گزینی.  جواد میرشکاری، ویراستار. دفتر نهم. فرهنگ واژه‌های مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۷۸-۹۶۴-۷۵۳۱-۱۸-۴ (ذیل سرواژهٔ تابع چکیده‌ساز)
↑  الگوریتم
↑  "NIST Glossary — hash digest". Retrieved January 1, 2024.
↑  ملیاردر های بیت کوین‌. صفحه ۱۰۷. نوشته دو فارغ التحصیل هاروارد.
↑  Knuth, Donald E. (1973). The Art of Computer Programming, Vol. 3, Sorting and Searching. Reading, MA., United States: Addison-Wesley. Bibcode:1973acp..book.....K. ISBN 978-0-201-03803-3.
تصادم درهم‌سازی با کاوش خطی برطرف شده‌است.
درهم سازی دوگانه
نقاشیخط

نقاشی‌خط (خوش‌نگاشت، نقش‌نوشت، نقش مشاعل خط، نوشت‌نگار) شیوه‌ای است در نقاشی مدرن و خوشنویسی معاصر ایرانی که به تدریج در دهه ۱۳۳۰-۱۳۴۰ خورشیدی توسط برخی از خوشنویسان و نقاشان ایرانی شکل گرفت و تاکنون به حیات خود در عرصه هنر معاصر ادامه داده و در بسیاری از کشورهای منطقه نیز پیروانی یافته ‌است. آنان به ترکیبی از خطاطی و نقاشی دست زدند از این رو به این شیوه گاهی خطاشی و خط نقاشی هم می‌گویند.
ریشه‌های خوشنویسی را می‌توان در شیوه‌های تفننی خوشنویسی ایرانی مانند خط توأمان، خط متعاکس، خط مسلسل، طغرا و مانند آن‌ها مشاهده کرد و جلوه‌های پر فروغی از نقاشی‌خط را در شیوه سنتی گلزار یا در آثار هنرمندانی از دوره قاجار مانند ملک‌محمد قزوینی یا اسماعیل جلایر موجود است اما شاید بتوان گفت مکتب سقاخانه در نقاشی معاصر ایران خاستگاه اصلی زیباشناسی و نوآوری معاصر، در خوشنویسی و پیدایش نقاشی‌خط بوده‌است. در دوران پس از انقلاب، خوشنویسی با اقبال زیادی از سوی جوانان مواجه شد آنان در عرصه‌های مختلف اعم از شیوه‌های سنتی یا تلاش برای ایجاد خلاقیت‌های نوین با هم به رقابت پرداختند. در این عرصه روند نقاشی‌خط هم شاهد تجربه‌های متفاوت و گسترده‌ای شد.
فرامرز پیلارام، رضا مافی، حسین زنده‌رودی، نصرالله افجه‌ای و محمد احصایی در پیدایش و پیشبرد این هنر در ایران مؤثر بوده‌اند؛با این حال مطابق با شواهد،صادق تبریزی را باید نخستین هنرمندی دانست که در سال ۱۳۳۸ شمسی نقاشیخط را ابداع و پایه گذاری کرد.البته رضا مافی نیز در هنر نقاشی‌خط پیشگام بود و در این زمینه به موفقیت بزرگی نائل آمد.او از نخستین کسانی بود که به هنر نقاشی‌خط روی آورد. مافی تحت تأثیر مکتب سقاخانه اولین خطاطی بود که با رعایت اصول سنتی خط،آن را در نقاشی مدرن ایران مورد استفاده قرار داد. مافی که خوشنویسی توانا بود و در کار نقاشی‌خط و ارائه و توسعه آن بیش از دیگران پایمردی کرد و آثار او در نبودش تاکنون در عرصه داخلی و بین‌المللی درخشیده‌است.
تابلوی نقاشی خط اثر استاد محمد احصایی
تصویر رضا مافی
خاستگاه > دوره اول تحولات در خوشنویسی ایرانی ـ دوران قاجار ـ (دوره نوآوری در جامعه سنتی)

جامعهٔ قاجاری جامعه‌ای سنتی بود اما در این دوران از عهد عباس میرزا پسر فتحعلی شاه و پس از جنگ‌های ایران و روس و شکست‌های ایران با جمع‌بندی از دلایل شکست و با حرکتی عبرت گیرانه توسط عباس میرزا تحولاتی در روند نوآوری انجام گرفت که حاصل آن نوسازی قشون ـ ورود صنعت چاپ و ورود برخی کارخانجات و تأسیس مدارس سبک جدید و فرستادن دانشجو به خارج از کشور برای کسب علم و هنر بوده‌است. اما شاه بیت این نوآوری بعدها در ظهور و روزنامه‌ها و نشریاتی تحقق یافت که به نحوی اطلاع‌رسانی و آگهی‌های جدید را به عهده گرفتند. خط و خوشنویسی نیز در پرتو این تحولات وارد عرصه شد اما با ضرب آهنگی بسیار کند حرکت نمود تا بتواند نشریات تازه بر عرصه رسانده را بسنده نماید به عنوان نمونه نخستین نشریاتی که خوشنویسی جدیدی را می‌طلبیدند عبارت بودند از کاغذ اخبار در ۱۲۵۳ به سردبیری میرزا صالح شیرازی، وقایع اتفاقیه ۱۲۶۷ –۱۲۶۴ به سردبیری امیرکبیر، قانون ۱۲۹۵–۱۲۹۰ به سردبیری میرزا ملکم خان. به‌طور تفصیلی تر و جهت تشریح نوآوری و تأثیر آن بر خطاطی یکصد و پنجاه ساله آخر سرنوشت نخستین روزنامه‌های ایران قابل بررسی است.
خاستگاه > دوره دوم تحولات در خوشنویسی ایرانی ـ دوران پهلوی - (دوره نوسازی)

در سراسر قرن چهارده شمسی تاریخ خط و خوشنویسی در ایران مواجه با سرعت و نوآوری شگفتی است تا بتواند نیازهای معاصر تجارت و تبلیغات و فناوری را پاسخگو باشد. از سوی دیگر در سراسر قرن بیستم مکاتب بین‌المللی که پس از تولید در خاستگاه خود به سرعت جهانی می‌شدند، هنرمندان نوآور جهان به دو دسته تقسیم گردند: نخستین دسته هنرمندانی بودند که در هماهنگی کامل با سبک‌های بین‌المللی قرار گرفتند و دسته دوم از هنرمندانی تشکیل می‌شد که گرایش‌های بومی و ملی را در فضایی جهانی جستجو می‌کردند. نقش این هنرمندان بر تولد خطاطی نوین از چنان اهمیتی برخوردار است که جایگزینی برای آن نمی‌توان یافت. شاید بتوان گفت مکتب سقاخانه خاستگاه اصلی زیباشناسی و نوآوری معاصر، در خوشنویسی خط به ویژه در پیش از انقلاب ۱۳۵۷ بوده‌است.