Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # का उपयोग करके पंक्ति के अनुसार और कॉलम के अनुसार मैट्रिक्स में वृद्धि कैसे करें?


इस समस्या का मूल समाधान इनपुट मैट्रिक्स में संग्रहीत सभी तत्वों को स्कैन करके दी गई कुंजी की खोज करना है। यदि मैट्रिक्स का आकार MxN है, तो इस रैखिक खोज दृष्टिकोण में O(MN) समय लगता है।

मैट्रिक्स को एक क्रमबद्ध एक-आयामी सरणी के रूप में देखा जा सकता है। यदि इनपुट मैट्रिक्स में सभी पंक्तियों को ऊपर-नीचे क्रम में संयोजित किया जाता है, तो यह एक क्रमबद्ध एक-आयामी सरणी बनाता है। और, उस स्थिति में द्विआधारी खोज एल्गोरिथ्म इस 2D सरणी के लिए उपयुक्त है। नीचे दिया गया कोड एक फ़ंक्शन SearchRowwiseColumnWiseMatrix विकसित करता है जो इनपुट के रूप में एक द्वि-आयामी सरणी और खोज कुंजी लेता है और खोज कुंजी की सफलता या विफलता के आधार पर सही या गलत लौटाता है।

उदाहरण

public class Matrix{
   public bool SearchRowwiseColumnWiseMatrix(int[,] mat, int searchElement){
      int col = getMatrixColSize(mat);
      int start = 0;
      int last = mat.Length - 1;
      while (start <= last){
         int mid = start + (last - start) / 2;
         int mid_element = mat[mid / col, mid % col];
         if (searchElement == mid_element){
            return true;
         }
         else if (searchElement < mid_element){
            last = mid - 1;
         }
         else{
            start = mid + 1;
         }
      }
      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, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
   Console.WriteLine(m.SearchRowwiseColumnWiseMatrix(mat, 11));
}

आउटपुट

TRUE

  1. माइक्रोसॉफ्ट एक्सेल में रो हाइट और कॉलम की चौड़ाई कैसे बदलें?

    एक्सेल में पंक्तियों की ऊंचाई और कॉलम की चौड़ाई आमतौर पर स्वचालित होती है, लेकिन आप पंक्ति की ऊंचाई और कॉलम की चौड़ाई को मैन्युअल रूप से बदल सकते हैं। स्प्रैडशीट में पंक्ति की ऊंचाई पंक्तियों में दर्ज किए गए डेटा के आकार के अनुसार बढ़ती और घटती है; एक्सेल स्वचालित रूप से पंक्तियों को बढ़ाएगा और घटाए

  1. Google का उपयोग करके छवि स्रोत और विवरण कैसे खोजें

    जब भी आपको किसी विषय के बारे में जानकारी प्राप्त करने की आवश्यकता हो, तो Google लोकप्रिय विकल्प है। इसके अलावा, आप कभी भी ऑनलाइन प्रकाशित किसी भी फोटो को देखने के लिए सर्च इंजन जायंट का उपयोग कर सकते हैं। लेकिन क्या होगा अगर आपके पास पहले से ही एक फोटो है लेकिन इसके स्रोत के बारे में अधिक जानकारी चा

  1. माइक्रोसॉफ्ट एक्सेल में रो और कॉलम को फ्रीज कैसे करें

    बड़ी एक्सेल स्प्रैडशीट्स पर काम करने वाले कई उपयोगकर्ता तुलना करने के लिए बार-बार विशिष्ट डेटा की जांच करेंगे। स्प्रेडशीट के प्रकार के आधार पर डेटा एक पंक्ति या कॉलम में हो सकता है। यह उपयोगकर्ताओं के लिए काम को थोड़ा कठिन और समय लेने वाला बना सकता है। हालाँकि, इस समस्या को हल करने में मदद करने के ल