কম্পিউটার টিউটোরিয়াল

C#-তে রো-ওয়াইজ ইনক্রিজড ম্যাট্রিক্সে সার্চ করুন


এই সমস্যার প্রাইমিটিভ সমাধান হলো ইনপুট ম্যাট্রিক্সে সংরক্ষিত সব এলিমেন্ট স্ক্যান করে দেয়া কী খোঁজা। এই লিনিয়ার সার্চ অপ্রোচের খরচ O(MN) টাইম যদি ম্যাট্রিক্সের সাইজ MxN হয়।

ম্যাট্রিক্সটি টপ রাইট থেকে স্ক্যান করতে হবে। যদি সার্চ এলিমেন্ট টপ রাইট এলিমেন্টের চেয়ে বড় হয়, তবে রো ইনক্রিমেন্ট করুন অন্যথায় কলাম ডিক্রিমেন্ট করুন। নিচের কোডটি SearchRowwiseIncrementedMatrix ফাংশনটি ডেভেলপ করে যা টু-ডাইমেনশনাল অ্যারে এবং সার্চ কী ইনপুট হিসেবে নেয় এবং সার্চ কী মেললে true নাও মেললে false রিটার্ন করে।

কোড

public class Matrix{     public bool SearchRowwiseIncrementedMatrix(int[,] mat, int searchElement){         int row = getMatrixRowSize(mat);         int col = getMatrixColSize(mat) - 1;         int r = 0;         while (col >= 0 && r < row){             if (mat[r, col] == searchElement){                 return true;             }             else if (searchElement < mat[r, col]){                 col--;             }             else{                 r++;             }         }         return false;     }     private int getMatrixRowSize(int[,] mat){         return mat.GetLength(0);     }     private int getMatrixColSize(int[,] mat){         return mat.GetLength(1);     } } static void Main(string[] args){     Matrix m = new Matrix();     int[,] mat = new int[3, 4] { { 1, 7, 10, 19 }, { 2, 8, 11, 20 }, { 3, 9, 12, 21 } };     Console.WriteLine(m.SearchRowwiseIncrementedMatrix(mat, 11)); }

আউটপুট

TRUE
  1. Windows-এ সার্চ করার পদ্ধতি

  2. Python-এ দুটি ম্যাট্রিক্স গুণ করার পদ্ধতি

  3. Python-এ ম্যাট্রিক্স ট্রান্সপোজ করার পদ্ধতি

  4. গুগল ভিজ্যুয়াল সার্চ মास্টার করুন: ইমেজ ও ভিডিও কোয়েরির কুইক টিপস