From f769f761fefcbfb08bdbbbb626477310ae159b40 Mon Sep 17 00:00:00 2001 From: Dhairya Gothi Date: Thu, 13 Jun 2024 17:10:50 +0530 Subject: [PATCH] Matrix in DSA documentation added --- docs/dsa/Matrix/_category_.json | 9 ++ docs/dsa/Matrix/image.png | Bin 0 -> 20580 bytes docs/dsa/Matrix/matrix.md | 153 +++++++++++++++++++++++++++++ docs/dsa/Matrix/problems-matrix.md | 130 ++++++++++++++++++++++++ 4 files changed, 292 insertions(+) create mode 100644 docs/dsa/Matrix/_category_.json create mode 100644 docs/dsa/Matrix/image.png create mode 100644 docs/dsa/Matrix/matrix.md create mode 100644 docs/dsa/Matrix/problems-matrix.md diff --git a/docs/dsa/Matrix/_category_.json b/docs/dsa/Matrix/_category_.json new file mode 100644 index 000000000..d8a0abc0d --- /dev/null +++ b/docs/dsa/Matrix/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Matrix", + "position": 9, + "link": { + "type": "generated-index", + "description": "In data structures and algorithms (DSA), a matrix is a two-dimensional array consisting of rows and columns. It is often used to represent a grid-like structure or a table of values. Matrices are commonly used in various algorithms and mathematical operations, such as matrix multiplication, graph algorithms, image processing, and more. They provide a convenient way to organize and manipulate data in a structured manner." + } + } + \ No newline at end of file diff --git a/docs/dsa/Matrix/image.png b/docs/dsa/Matrix/image.png new file mode 100644 index 0000000000000000000000000000000000000000..91a028c777e3d41686f529c1718f75ccec8df7b4 GIT binary patch literal 20580 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