Set Operations হল এমন অপারেশন যা দুটি বা তার বেশি set (সেট) এর মধ্যে নির্দিষ্ট সম্পর্ক তৈরি করে। জুলিয়া ভাষায়, sets হল একটি অনন্য ডেটা স্ট্রাকচার যা একই উপাদান একাধিকবার রাখবে না। এটি গাণিতিক সেট থিওরি (যেমন, ইউনিয়ন, আন্তঃসংশ্লিষ্টতা, পার্থক্য) এর মতো বিভিন্ন অপারেশন সমর্থন করে। জুলিয়া ভাষায় set অপারেশনগুলি গাণিতিক সেটের মতো কাজ করে এবং আমরা Union, Intersection, Difference ইত্যাদি অপারেশনগুলি সহজেই করতে পারি।
১. Set ডিক্লারেশন
জুলিয়ায় Set ডিক্লারেশন করতে আমরা Set() ফাংশন ব্যবহার করি। একটি set সাধারণত ইউনিক (unique) উপাদান ধারণ করে, অর্থাৎ একটি নির্দিষ্ট উপাদান একাধিকবার থাকতে পারে না।
Set তৈরি করা:
set1 = Set([1, 2, 3, 4])
set2 = Set([3, 4, 5, 6])
println(set1) # আউটপুট: Set([1, 2, 3, 4])
println(set2) # আউটপুট: Set([3, 4, 5, 6])এখানে, দুটি set তৈরি করা হয়েছে, set1 এবং set2।
২. Union (ইউনিয়ন)
Union হল দুটি সেটের সমস্ত উপাদানগুলোকে একত্রিত করা, যেখানে একই উপাদানটি একবারই গণনা করা হয়। এটি দুটি সেটের মধ্যে সকল ইউনিক উপাদান ফিরিয়ে দেয়।
Union অপারেশন:
set1 = Set([1, 2, 3, 4])
set2 = Set([3, 4, 5, 6])
union_set = union(set1, set2)
println(union_set) # আউটপুট: Set([1, 2, 3, 4, 5, 6])এখানে, union(set1, set2) দুটি সেটের সকল ইউনিক উপাদান নিয়ে একটি নতুন সেট তৈরি করেছে।
Alternative Syntax (অন্য বিকল্প):
union_set = set1 ∪ set2
println(union_set) # আউটপুট: Set([1, 2, 3, 4, 5, 6])এখানে, ∪ ব্যবহার করে আমরা ইউনিয়ন অপারেশনটি করতে পারি।
৩. Intersection (অন্তঃসংযোগ)
Intersection হল দুটি সেটের সাধারণ উপাদানগুলোকে নির্বাচন করা। এটি সেই উপাদানগুলো ফেরত দেয় যেগুলি উভয় সেটে উপস্থিত।
Intersection অপারেশন:
set1 = Set([1, 2, 3, 4])
set2 = Set([3, 4, 5, 6])
intersection_set = intersect(set1, set2)
println(intersection_set) # আউটপুট: Set([3, 4])এখানে, intersect(set1, set2) দুটি সেটের সাধারণ উপাদান 3 এবং 4 নির্বাচন করেছে।
Alternative Syntax:
intersection_set = set1 ∩ set2
println(intersection_set) # আউটপুট: Set([3, 4])এখানে, ∩ ব্যবহার করে আমরা intersection অপারেশনটি করতে পারি।
৪. Difference (পার্থক্য)
Difference অপারেশনটি একটি সেটের এমন উপাদানগুলো নির্বাচন করে যা অন্য সেটে উপস্থিত নেই। এর মাধ্যমে একটি সেটের উপাদানগুলির মধ্যে পার্থক্য বের করা যায়।
Difference অপারেশন:
set1 = Set([1, 2, 3, 4])
set2 = Set([3, 4, 5, 6])
difference_set = set1 - set2
println(difference_set) # আউটপুট: Set([1, 2])এখানে, set1 - set2 সেট set1 এর উপাদানগুলির মধ্যে সেই উপাদানগুলোকে নির্বাচন করছে যা set2 তে নেই। অর্থাৎ, এটি 1 এবং 2 ফেরত দিচ্ছে।
Alternative Syntax:
difference_set = set1 \ set2
println(difference_set) # আউটপুট: Set([1, 2])এখানে, \ ব্যবহার করে আমরা difference অপারেশনটি করতে পারি।
৫. Symmetric Difference (সামরিক পার্থক্য)
Symmetric Difference হল দুটি সেটের এমন উপাদানগুলোর সমষ্টি যেগুলি একটির মধ্যে রয়েছে, কিন্তু অন্যটির মধ্যে নেই। এটি ইউনিয়ন minus ইন্টারসেকশন।
Symmetric Difference অপারেশন:
set1 = Set([1, 2, 3, 4])
set2 = Set([3, 4, 5, 6])
symmetric_difference_set = symmetric_difference(set1, set2)
println(symmetric_difference_set) # আউটপুট: Set([1, 2, 5, 6])এখানে, symmetric_difference(set1, set2) একটি নতুন সেট প্রদান করে যেখানে 1, 2, 5, 6 রয়েছে। এটি উভয় সেটের একমাত্র অংশ, তবে সাধারণ অংশ (৩ এবং ৪) বাদ দেওয়া হয়েছে।
সারসংক্ষেপ
- Union (ইউনিয়ন): দুটি সেটের সব উপাদানগুলিকে একত্রিত করে, কিন্তু একই উপাদান বারবার গণনা করা হয় না।
- Intersection (অন্তঃসংযোগ): দুটি সেটের সাধারণ উপাদানগুলো নির্বাচন করা হয়।
- Difference (পার্থক্য): একটি সেটের এমন উপাদানগুলো নির্বাচন করা যা অন্য সেটে নেই।
- Symmetric Difference (সামরিক পার্থক্য): দুটি সেটের এমন উপাদানগুলোর সমষ্টি যেগুলি একটির মধ্যে রয়েছে কিন্তু অন্যটির মধ্যে নেই।
এই set operations গুলি জুলিয়া প্রোগ্রামিং ভাষায় সহজেই বাস্তবায়িত করা যায় এবং এগুলি ডেটা বিশ্লেষণ, গাণিতিক গবেষণা এবং অনেক ধরনের এলগরিদমিক সমস্যায় ব্যাপকভাবে ব্যবহৃত হয়।
Read more