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

C# का उपयोग करके पंक्ति-वार और कॉलम-वार बढ़ी हुई मैट्रिक्स में खोज कैसे करें?


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

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

उदाहरण

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. Microsoft Excel में पंक्ति ऊंचाई और स्तंभ चौड़ाई कैसे बदलें Microsoft Excel में पंक्ति ऊंचाई और स्तंभ चौड़ाई कैसे बदलें

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

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

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

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

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