কেন এটিকে "হ্যাশ টেবিল" বা "হ্যাশ ফাংশন" বলা হয়? হ্যাশ এখানে আমার কোনও অর্থ দেয় না [বন্ধ]


26

এটি এখন প্রায় 4 বছরের বিকাশ যা আমি হ্যাশ টেবিল এবং হ্যাশ ফাংশনগুলি ব্যবহার করছি, শ্রবণ করছি, তার সম্পর্কে কথা বলছি এবং প্রয়োগ করছি। তবে আমি সত্যিই কখনই বুঝতে পারি না কেন এটিকে হ্যাশ বলা হয়?

আমি প্রোগ্রামিং শুরু করার প্রথম দিনগুলির কথা মনে করি, এই শব্দটি আমার কাছে মায়াময়ী পরিভাষা ছিল । এটির নামের ভিত্তিতে আমি এটি কখনই বুঝতে পারি নি । আমি কেবল পরীক্ষামূলকভাবে বুঝতে পারি যে এটি কী করে এবং কেন এবং কখন আমাদের এটি ব্যবহার করা উচিত

যাইহোক, আমি এখনও মাঝে মাঝে এটি কেন হ্যাশ বলা হয় তা জানার চেষ্টা করি । আমার টেবিল বা ফাংশন এবং সত্য কথা বলতে কোন সমস্যা নেই , এগুলি বেশ নিরঙ্কুশ, যৌক্তিক পদ। যাইহোক, আমি মনে করি চাবি বা স্বতন্ত্রতার মতো হ্যাশের পরিবর্তে আরও ভাল শব্দ ব্যবহার করা যেতে পারে । কী টেবিল বা স্বতন্ত্রতা সারণী করবেন না ।

আমার অভিধান অনুসারে হ্যাশটির অর্থ:

  1. আলু এবং মাংসের ভাজা থালা (অত্যন্ত অপ্রাসঙ্গিক)
  2. # প্রতীক (একে একে নম্বর সাইন, পাউন্ড সাইন ইত্যাদি) (এখনও অপ্রাসঙ্গিক, সম্ভবত একটি ভুল নামকরণ)
  3. চরিত্রের স্ট্রিংয়ে অ্যালগরিদম প্রয়োগ করুন ( স্বতন্ত্রতার সাথে এখনও কিছু করার নেই , যা হ্যাশ টেবিলের সর্বাধিক গুরুত্বপূর্ণ বৈশিষ্ট্য)
  4. খাবার কাটুন
  5. হ্যাশিশের জন্য আর একটি শব্দ

কেউ কি জানে কেন একে হ্যাশ বলা হয়?


32
আপনি কি হ্যাশগুলি কিছুটা ভুল বুঝেছেন। স্বতন্ত্রতা স্পষ্টভাবে হ্যাশ ফাংশনগুলির বৈশিষ্ট্য নয় (উদাহরণস্বরূপ তারা কখনই ইনজেকশন নয়)।
পিটার টেলর

1
@ পিটার টেইলর: হ্যাশ টেবিলগুলি ইনজেকশন ম্যাপিংগুলি সংজ্ঞায়িত করে।
পুনরায় পোস্টার

2
@ পিটার টেইলর: একটু নীটপিকি হওয়ার জন্য তাদের ইনজেকশন লাগবে না , তবে কখনও কখনও তারা বাইজিকও হয়। একটি পূর্ণসংখ্যার জন্য একটি হ্যাশিং ফাংশনটির সাধারণ বাস্তবায়ন সম্পর্কে চিন্তা করুন :)
কেপ্পলা

4
হ্যাশটি অনন্য হতে পারে, যতক্ষণ না হয় মূল স্থান হ্যাশ মানের জায়গার চেয়ে বড় নয় (টেবিল হ্যাশগুলির জন্য), বা হ্যাশ মানের স্থানটি এত বড় যে সংঘর্ষগুলি গাণিতিকভাবে অক্ষম (ক্রিপ্টোগ্রাফিক হ্যাশগুলির জন্য)।
সুরক্ষিত করুন

1
এছাড়াও, একটি "কী টেবিল" অন্য কোনও "কী / মান" ডেটাস্ট্রাকচারের মতো ("ডিকশনারি" নামে পরিচিত) এর মতো শোনাচ্ছে। সমস্ত কী / মান ডেটাস্ট্রাকচার হ্যাশ টেবিল নয়।
বারজাক

উত্তর:


46

উইকিপিডিয়া অনুসারে, এটি হ্যাশ ফাংশনকে বোঝায় । আপনি যদি আরও এক ধাপ এগিয়ে যেতে চান তবে হ্যাশ ফাংশনের উইকি পৃষ্ঠায় বলা হয়েছে যে হ্যাশ ফাংশনে "হ্যাশ" শব্দের ব্যবহার এরকম উদ্ভব হয়েছিল:

"হ্যাশ" শব্দটি এর অ প্রযুক্তিগত অর্থের সাথে উপমা দিয়ে আসে, "কাটা এবং মিশ্রিত করা"। প্রকৃতপক্ষে, মোড অপারেশনের মতো টিপিক্যাল হ্যাশ ফাংশনগুলি অনেকগুলি সাব-ডোমেনগুলিতে ইনপুট ডোমেনকে "কাটা" দেয় যা মূল বিতরণটির অভিন্নতা উন্নত করতে আউটপুট পরিসরে "মিশ্রিত" হয়।


2
'সাব-ডোমেনগুলি' সেখানে কী করছে তা নিশ্চিত নয়। এটি ঠিক যে হ্যাশটি তার ডোমেনের মানগুলিকে পুরোপুরি 'মিক্সড' করে।
পুনরায় পোস্টার

15

ফরাসি ভাষায়, একটি হ্যাশ টেবিলকে "টেবিল দে হ্যাচেজ" বলা হয়, সম্পর্কিত ক্রিয়াপদ "হ্যাচার" এর অর্থ কাটা / কিমা বানানো (বেশিরভাগ খাবার)। ক্রিয়াপদের to hashইংরেজি ভাষায় একই অর্থ রয়েছে।

অন্যরা যেমন দেখিয়েছে এটিকে হ্যাশ বলা হয়, কারণ আপনি নিজের ইনপুটটি কেটে ফেলেছেন যা আপনি বিভিন্ন জায়গায় টুকরো টুকরো করে রেখেছেন (আপনার টেবিল এন্ট্রি)।


2
এটি আসলে একটি উচ্চারণ ছাড়াই "হ্যাচেজ" এবং "হ্যাচার" লেখা।
পটিভাল

10

সংখ্যা 3 এর সাথে এটি করার মতো সমস্ত কিছুই রয়েছে। উইকিপিডিয়া থেকে :

হ্যাশ টেবিলের কেন্দ্রে আলগোরিদিম আইটেমগুলির একটি সহজ অ্যারে; এটিকে প্রায়শই হ্যাশ টেবিল বলা হয় । হ্যাশ টেবিল অ্যালগরিদমগুলি ডেটা আইটেমের কী থেকে একটি সূচক গণনা করে এবং ডেটা অ্যারেতে রাখার জন্য এই সূচকটি ব্যবহার করে। এই হিসাব বাস্তবায়ন হয় হ্যাশ ফাংশন , f:

index = f(key, arrayLength)

হ্যাশ ফাংশন indexডেটা থেকে অ্যারের মধ্যে একটি গণনা করে keyarrayLengthঅ্যারের আকার হয়। জন্য সমাবেশ ভাষা বা অন্যান্য নিম্নস্তরের প্রোগ্রাম, একটি তুচ্ছ হ্যাশ ফাংশন প্রায়ই মাত্র এক বা দুই ইনলাইন সঙ্গে একটি সূচক তৈরি করতে পারেন মেশিন নির্দেশাবলী

সুতরাং একটি হ্যাশ টেবিল সত্যিকার অর্থে কোনও কী এর উপর ভিত্তি করে মান সংরক্ষণ করে না; এটি সেই কীটির একটি হ্যাশড সংস্করণের উপর ভিত্তি করে মান সংরক্ষণ করে ।


1
এটি হ্যাশ টেবিল বলতে কী বোঝায় তার উপর নির্ভর করে। পার্ল, জাভা এবং সি # এর মতো ভাষায় প্রদত্ত ডেটা স্ট্রাকচার আপনাকে অভ্যন্তরীণভাবে যে ধরণের হ্যাশ টেবিল উল্লেখ করে তা ব্যবহার করে আপনাকে কী-টু-মান মানচিত্র দেয় pping
পুনরায় পোস্টার

10

হ্যাশ টেবিল যে ভাবে কারণ ব্যবহারের বলা হয় হ্যাশ কোড এবং এটি "কাটা খাবার" এর সাথে সম্পর্কিত না।

এটিকে এভাবে ভাবুন - আপনি নিজের সুন্দর সুন্দর জিনিসটি একটি ফলের মতো গ্রহণ করেন, তারপরে হ্যাশ করুন যাতে এটি অন্য কোনও কিছুর মতো দেখতে শুরু করে - কেবল একটি সংখ্যা - এটিতে আর কোনও কাঠামো নেই। "কাট খাবার" টুকরোটি হ্যাশ টেবিলটিতে আপনার দুর্দান্ত সুন্দর অবজেক্টটি সনাক্ত করতে ব্যবহৃত হয়।

  • এটি আপনার সুন্দর অবজেক্টের চেয়ে দেখতে খারাপ লাগছে? হতে পারে - তবে এটি এটি দ্রুত খুঁজে পেতে সহায়তা করে - এটি মূল বিষয়। ওহ এবং এটি অনন্য নয় এটি নিশ্চিত।
     
    হ্যাশ কোডটি টেবিলের একটি বালতি খুঁজে পায় যেখানে আপনার সুন্দর অবজেক্ট একই হ্যাশ কোড সহ অন্যদের একটি ছোট সংস্থায় বসে । এই ছোট সংস্থার মধ্যে অবজেক্টটি সমতা চেক ব্যবহার করে সন্ধান করা হবে - যা হ্যাশ দেখার চেয়ে ধীর গতির বলে আশা করা হচ্ছে তবে এগুলির মধ্যে কয়েকটি খুব কমই রয়েছে (বেশিরভাগ অন্যান্য বস্তু দ্রুত হ্যাশের কারণে ইতিমধ্যে উপেক্ষা করা হয়েছে) ।

3

হ্যাশিং (ছোট ছোট টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করা) একটি ইনপুট নেয় (খাবার বা কখনও কখনও সুপারিলিন) এবং এটি তুলনামূলক একজাতীয় আউটপুটে রূপান্তরিত করে। অর্থাৎ আপনার শুরুতে যা ছিল তা বিবেচনাধীন নয়, শেষ পর্যন্ত আপনার কেবল হ্যাশ রয়েছে। এবং একটি চামচ পরিমাণ হ্যাশ নির্ধারণে যতটা হ্যাশ রয়েছে ততটা সহায়ক, ইনপুটটি কী ছিল (আপনার হ্যাশিং মেশিনটিকে ভালভাবে ধরে নিয়েছে)।
সুতরাং হ্যাশিং যে কোনও ভোজ্য বা অশুভ বস্তুকে হ্রাস করে এক চামচ হ্যাশে পরিণত করতে পারে, যেখানে দুটি পৃথক বস্তু বিভিন্ন হ্যাশ দেয়, যেখানে দুটি সমান বস্তু সমান হ্যাশ দেয়। যার অর্থ যদি দুটি তত্ত্বাবধায়ক আপনার হ্যাশিং মেশিনে পড়ে যায় তবে তাদের হ্যাশগুলির সাথে তুলনা করা যথেষ্ট যে এটি অন্যটির ক্লোন কিনা।

কম্পিউটার বিজ্ঞানের একটি উপায়ে হ্যাশিংয়ের কাজগুলি কিছুটা সমান। তারা বিভিন্ন আকার এবং শব্দার্থবিজ্ঞানের পুরো ইনপুট নেয় এবং প্রতিটি কথায় সহজভাবে বলে- তারা কেবল এটিকে টুকরো টুকরো করে কেটে দেয় এবং আশেপাশেরগুলিকে মিশ্রিত করে এবং ফলস্বরূপ ক্রমটি টুকরো টুকরো করে কেটে দেয় এবং আরও প্রায় মিশিয়ে দেয়। শেষ পর্যন্ত আপনার হাতে থাকা ইনপুটটির একটি চামচ (এন বাইট) রয়েছে।


তবে সাবধানতার সাথে সুপার ভিলেনও সুপার হিরোর মতো একই হ্যাশটিকে একটি নির্দিষ্ট পরামিতিগুলির সেট দিয়ে ফিরে আসতে পারেন যেহেতু হ্যাশিং স্বতন্ত্রতা নির্দেশ করে না বলে মনে হচ্ছে। সর্বোপরি হ্যাশ সংঘর্ষ রয়েছে ... সংঘর্ষের পরে আপনি এটি কি করেন ...
রিগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.