Sets হল একটি ডেটা স্ট্রাকচার যা একে অপরের সাথে সম্পর্কিত অদ্বিতীয় (unique) উপাদান ধারণ করে। এটি একটি অর্ডারহীন সংগ্রহ (unordered collection) যার মধ্যে প্রতিটি উপাদান শুধুমাত্র একবারই থাকতে পারে। অর্থাৎ, একটি set এ কোনো duplicate মান থাকতে পারে না।
জুলিয়া প্রোগ্রামিং ভাষায় sets অত্যন্ত গুরুত্বপূর্ণ, বিশেষত যখন আপনি ইউনিক (অদ্বিতীয়) মান বা উপাদান সংগ্রহ করতে চান বা সেটের মধ্যে সদস্য উপস্থিতি যাচাই করতে চান।
Sets এর ধারণা
Set হল একটি অর্ডারহীন সংগ্রহ, যেখানে প্রত্যেকটি উপাদান একবারই থাকতে পারে এবং এটি অন্যান্য উপাদানগুলির সাথে তুলনা করার জন্য ব্যবহৃত হয়। জুলিয়া ভাষায়, Set একটি বিল্ট-ইন ডেটা টাইপ যা সেটের ফিচার প্রদান করে।
Set এর বৈশিষ্ট্য:
- Unique Elements: Set এর মধ্যে প্রতিটি উপাদান একমাত্র থাকবে, কোন duplicate থাকবে না।
- Unordered: Set এর মধ্যে উপাদানগুলির কোনো নির্দিষ্ট অর্ডার থাকে না।
- Efficient Lookup: Set এর মধ্যে একটি উপাদান দ্রুত খুঁজে বের করা যায়।
Set তৈরি করা এবং ব্যবহার করা
জুলিয়া ভাষায় একটি Set তৈরি করতে Set() ফাংশন ব্যবহার করা হয়। এটি একটি অর্ডারহীন ইউনিক উপাদানের সংগ্রহ তৈরি করে।
Set তৈরি করা
s = Set([1, 2, 3, 4, 5])
println(s) # আউটপুট: Set([1, 2, 3, 4, 5])এখানে, Set([1, 2, 3, 4, 5]) একটি set তৈরি করেছে যাতে পাঁচটি ইউনিক মান রয়েছে।
Duplicate Value Removal
Set একটি অর্ডারহীন সংগ্রহ, যেখানে duplicate মানগুলো স্বয়ংক্রিয়ভাবে সরিয়ে দেওয়া হয়।
s = Set([1, 2, 2, 3, 4, 5, 5])
println(s) # আউটপুট: Set([1, 2, 3, 4, 5])এখানে, duplicate মান 2 এবং 5 স্বয়ংক্রিয়ভাবে সরিয়ে ফেলা হয়েছে, কারণ set শুধুমাত্র ইউনিক উপাদান রাখে।
Set Operations (Set অপারেশন)
এছাড়া, Set গুলির উপর কিছু সাধারণ অপারেশনও করা যায়, যেমন: union, intersection, difference ইত্যাদি।
1. Union (একত্রিকরণ)
Union দুটি সেটকে একত্রিত করে এবং দুটি সেটের সব ইউনিক উপাদান নিয়ে একটি নতুন সেট তৈরি করে।
set1 = Set([1, 2, 3])
set2 = Set([3, 4, 5])
union_set = union(set1, set2)
println(union_set) # আউটপুট: Set([1, 2, 3, 4, 5])এখানে, union(set1, set2) দুটি সেটের সব ইউনিক উপাদান একত্রিত করেছে।
2. Intersection (সংযোগ)
Intersection দুটি সেটের মধ্যে যে উপাদানগুলো একযোগভাবে উপস্থিত, শুধুমাত্র সেগুলি নির্বাচন করে।
set1 = Set([1, 2, 3])
set2 = Set([3, 4, 5])
intersection_set = intersect(set1, set2)
println(intersection_set) # আউটপুট: Set([3])এখানে, intersect(set1, set2) দুটি সেটের সাধারণ উপাদান 3 নির্বাচন করেছে।
3. Difference (পার্থক্য)
Difference অপারেশন একটি সেটের মধ্যে থাকা উপাদান অন্য সেটে উপস্থিত না থাকলে সেগুলি নির্বাচন করে।
set1 = Set([1, 2, 3])
set2 = Set([3, 4, 5])
difference_set = set1 - set2
println(difference_set) # আউটপুট: Set([1, 2])এখানে, set1 - set2 শুধুমাত্র 1 এবং 2 নির্বাচন করেছে, যেগুলি set2 এ নেই।
Unique Elements (অদ্বিতীয় উপাদান)
জুলিয়া ভাষায় set ব্যবহার করার অন্যতম বড় সুবিধা হলো unique elements পাওয়া। আপনি যখন কোনো ডেটাসেট বা অ্যারে থেকে ইউনিক উপাদানগুলো বের করতে চান, তখন সেট ব্যবহার করা সবচেয়ে কার্যকরী পদ্ধতি।
অ্যারে থেকে ইউনিক উপাদান বের করা
যদি আপনার কাছে একটি অ্যারে থাকে এবং আপনি তার মধ্যে ইউনিক উপাদানগুলো চান, তবে সেটের সাহায্যে সেটি বের করা যায়।
arr = [1, 2, 2, 3, 4, 4, 5]
unique_elements = Set(arr)
println(unique_elements) # আউটপুট: Set([1, 2, 3, 4, 5])এখানে, Set(arr) ব্যবহার করে অ্যারের মধ্যে থাকা ইউনিক উপাদানগুলো বের করা হয়েছে।
Set এর অন্যান্য ব্যবহারের উদাহরণ
এটি ব্যবহার করে membership check করা
s = Set([1, 2, 3, 4, 5])
println(3 in s) # আউটপুট: true
println(6 in s) # আউটপুট: falseএখানে, in অপারেটরটি চেক করছে যে উপাদানটি সেটে উপস্থিত কিনা।
সারসংক্ষেপ
- Set হল একটি অর্ডারহীন ডেটা স্ট্রাকচার যা শুধুমাত্র unique উপাদান ধারণ করে।
- এটি duplicate elements গ্রহণ করে না এবং স্বয়ংক্রিয়ভাবে এগুলিকে সরিয়ে দেয়।
- জুলিয়া set এর মাধ্যমে union, intersection, এবং difference এর মত অপারেশন করতে পারে, যা সেটের মধ্যে সম্পর্ক নির্ধারণে ব্যবহৃত হয়।
- Set ব্যবহারে আপনি দ্রুত এবং কার্যকরভাবে unique elements খুঁজে বের করতে পারেন এবং সদস্য উপস্থিতি পরীক্ষা করতে পারেন।
এটি ডেটা বিশ্লেষণ, গণনা এবং অন্যান্য বিজ্ঞান ভিত্তিক অ্যাপ্লিকেশনগুলোতে খুবই কার্যকর।
Read more