এই প্রশ্নটির উত্তর দেওয়া প্রোগ্রামাররা বিশেষত ভাষা বা সিস্টেমে ব্যবহার করেছেন এমন ব্যবস্থাগুলি আরও সুনির্দিষ্ট অর্থ প্রদত্ত দেখে জটিল হয়েছে, তবে প্রশ্নটি "থিয়োরিয়ালি" ভাষায় অজ্ঞাতবিদ্যার তুলনা করার জন্য জিজ্ঞাসা করে, যা আমি কম্পিউটিং বিজ্ঞানের শর্তে বোঝাচ্ছি ।
পরিভাষা ব্যাখ্যা করা হয়েছে
অক্সফোর্ড বিশ্ববিদ্যালয় অভিধানের কম্পিউটার বিজ্ঞানের তালিকা:
অভিধানের যে কোনও ডেটা স্ট্রাকচার এমন উপাদানগুলির একটি সেট উপস্থাপন করে যা উপাদান সন্নিবেশ এবং মোছার পাশাপাশি সদস্যতার জন্য পরীক্ষা সমর্থন করতে পারে
- উদাহরণস্বরূপ, আমাদের মধ্যে একটি উপাদান রয়েছে {এ, বি, সি, ডি ...? যা আমরা সন্নিবেশ করতে সক্ষম হয়েছি এবং মোছা শুরু করতে পেরেছি, এবং আমরা "সি উপস্থিত?" ।
মানচিত্রের কম্পিউটিং সায়েন্স ধারণাটি গাণিতিক ভাষাগত শব্দ ম্যাপিংয়ের উপর ভিত্তি করে তৈরি হয়েছে , যা অক্সফোর্ড ডিকশনারি সংজ্ঞায়িত করেছেন:
ম্যাপিং এমন ক্রিয়াকলাপ যা প্রদত্ত সেট (ডোমেন) এর প্রতিটি উপাদানকে দ্বিতীয় সেট (ব্যাপ্তি) এর এক বা একাধিক উপাদানের সাথে যুক্ত করে।
- যেমন, মানচিত্রের ডেটা স্ট্রাকচার একটি নির্দিষ্ট সেটের উপাদানগুলির থেকে ম্যাপের " কী " হিসাবে পরিচিত, দ্বিতীয় সেটের এক বা একাধিক উপাদানগুলিতে - সম্পর্কিত " মান (গুলি) " হিসাবে পরিচিত হিসাবে যেতে একটি উপায় সরবরাহ করে ।
- "দ্বিতীয় সেটে ... বা একাধিক উপাদান" দৃষ্টিভঙ্গি একটি বাস্তবায়ন দ্বারা সমর্থিত হতে পারে দুটি স্বতন্ত্র পথ হল:
- অনেকগুলি মানচিত্রের প্রয়োগগুলি কীগুলির স্বতন্ত্রতা প্রয়োগ করে এবং কেবল প্রতিটি কীকে একটি মানের সাথে যুক্ত করার অনুমতি দেয়, তবে সেই মানটি একটি উপাত্ত কাঠামো হতে পারে যা একটি সহজ ডেটা ধরণের অনেকগুলি মান যুক্ত করে, যেমন {{1, {"এক" , "আইচি"}, {2, two "দুই", "নী"}} pairs জোড় স্ট্রিং সমন্বিত মান চিত্রিত করে।
- অন্যান্য মানচিত্রের প্রয়োগগুলি প্রতিটি ম্যাপিংকে একই বা বিভিন্ন মানগুলিতে ডুপ্লিকেট কীগুলি মঞ্জুরি দেয় - যা "সহযোগী ... প্রতিটি [মূল] উপাদানকে ... আরও ... [একাধিক] [মান] উপাদান" কেস হিসাবে কার্যকরী করে। উদাহরণস্বরূপ, {{1, "এক"},} 1, "আইচি"}, {2, "দুই"}, {2, "নী"}}}
অভিধান এবং মানচিত্র বিপরীতে আছে
সুতরাং, উপরের কঠোর কমপ্যাক্ট সায়েন্স পরিভাষাটি ব্যবহার করে, অভিধান অভিধানটি কেবলমাত্র একটি মানচিত্র হয় যদি ইন্টারফেসটি প্রতিটি অভিধানের প্রয়োজন হয় না এমন অতিরিক্ত ক্রিয়াকলাপ সমর্থন করে:
একটি তুচ্ছ মোচড়:
- মানচিত্রের ইন্টারফেসটি সম্ভবত কোনও {কী, মান} জোড়াটি ধারকটিতে রয়েছে কিনা তা পরীক্ষা করে সরাসরি সমর্থন করে না, যা প্রাথমিকভাবে এমন একটি অভিধানের প্রয়োজন যেখানে উপাদানগুলি {কী, মান} জোড়া হয়; কোনও মানচিত্রটিতে কোনও কীটির পরীক্ষা করার জন্য একটি ফাংশনও নাও থাকতে পারে তবে সবচেয়ে খারাপভাবে আপনি দেখতে পাচ্ছেন যে কোনও চেষ্টা-করা-পুনরুদ্ধার-বাই-কী সফল হয় বা ব্যর্থ হয়, তবে আপনি যদি যত্নশীল হন তবে কীটি কোনও প্রত্যাশিত মান পুনরুদ্ধার করেছে কিনা তা পরীক্ষা করতে পারেন।
আপনার দর্শকদের কাছে নির্বিঘ্নে যোগাযোগ করুন
Above উপরোক্ত সমস্ত কিছু সত্ত্বেও, আপনি যদি উপরে বর্ণিত কঠোর কম্পিউটিং সায়েন্স অর্থের অভিধান ব্যবহার করেন, তবে আপনার শ্রোতা প্রাথমিকভাবে আপনাকে অনুসরণ করবেন না, বা আপনি যখন পরিভাষাটি ভাগ করে নেবেন এবং অভিভাবক হয়ে উঠবেন তখন মুগ্ধ হবেন না। এই প্রশ্নের অন্যান্য উত্তরগুলি (এবং তাদের আপভোটগুলি) দেখায় যে বেশিরভাগ প্রোগ্রামারদের অভিজ্ঞতার মধ্যে "অভিধান" "ম্যাপ" এর সমার্থক হবে likely এমন পরিভাষা বাছাই করার চেষ্টা করুন যা আরও বিস্তৃত এবং দ্ব্যর্থহীনভাবে বোঝা যাবে: যেমন
- সহযোগী ধারক : কোনও ধারক কী / মান সংযোজন যুক্ত কী-র সাথে মূল্য পুনরুদ্ধার এবং কী দ্বারা মুছে ফেলা
- হ্যাশ মানচিত্র : একটি সহযোগী ধারকটির একটি হ্যাশ টেবিল প্রয়োগ
- হ্যাশ সেটটি অদ্বিতীয় কীগুলি প্রয়োগ করছে : একটি হ্যাশ টেবিল প্রয়োগকরণ উপাদান / মানগুলি আলাদা আলাদা কী / মান উপাদানযুক্ত হিসাবে বিবেচনা না করেই উপাদান / মান সংরক্ষণ করছে, যাতে উপাদানগুলির নকল সন্নিবেশ করা যায় না
- সদৃশ কীটিকে সমর্থনকারী বাইনারি ট্রি ম্যাপটি ব্যালেন্স করুন : ...
নির্দিষ্ট প্রয়োগের সাথে ক্রসফেরেন্সিং কমপ সায়েন্স পরিভাষা
সি ++ স্ট্যান্ডার্ড লাইব্রেরি
- মানচিত্র:
map
, multimap
, unordered_map
,unordered_multimap
- অন্যান্য অভিধান:
set
, multiset
, unordered_set
,unordered_multiset
- নোট: iterators সহ বা
std::find
আপনি সদস্যপদের জন্য একটি উপাদান এবং পরীক্ষা মুছে ফেলতে পারেন array
, vector
, list
, deque
ইত্যাদি, কিন্তু ধারক ইন্টারফেসগুলি সরাসরি সমর্থন না, কারণ একটি উপাদান খোঁজার হে (ঢ) এ দর্শনীয়ভাবেই অদক্ষ হয়, কিছু কিছু ক্ষেত্রে সন্নিবেশ / মুছে ফেলুন হয় অদক্ষ, এবং এই ক্রিয়াকলাপগুলিকে সমর্থন করে কনটেইনারটি ইচ্ছাকৃতভাবে সীমাবদ্ধ এপিআইকে হ্রাস করে - যেমন deque
গুলি কেবল সামনের দিকে এবং পিছনে মুছা / পপকে সমর্থন করা উচিত এবং কিছু কী এর শর্ত নয়। অনুসন্ধানে অর্কেস্টেট করার জন্য কোডে আরও কাজ করার পরে প্রোগ্রামারকে আরও দক্ষ অনুসন্ধানের সাথে একটি ধারক ডেটা কাঠামোতে স্যুইচ করতে উত্সাহ দেয়।
... পরে অন্য ভাষা যুক্ত করতে পারে / এডিট করতে নির্দ্বিধায় ...