يعد تدوير المصفوفة بمقدار 90 درجة إحدى العمليات الأساسية في البرمجة والرياضيات. يمكن أن تكون هذه العملية مفيدة في مختلف المجالات ، بما في ذلك رسومات الكمبيوتر ومعالجة الصور وتحليل البيانات. في هذه المقالة ، سننظر في كيفية تدوير المصفوفة 90 درجة في اتجاه عقارب الساعة وعكس اتجاه عقارب الساعة.
هناك عدة طرق لتدوير المصفوفة بمقدار 90 درجة. واحدة من أبسط الطرق هي استخدام مصفوفة إضافية. للقيام بذلك ، نقوم بإنشاء مصفوفة جديدة من نفس الحجم ، ونسخ عناصر المصفوفة الأصلية إلى مصفوفة جديدة ، ولكن مع الفهارس المتغيرة. هذه الطريقة سهلة الفهم والتنفيذ ، ولكنها تتطلب ذاكرة إضافية لتخزين المصفوفة الجديدة.
هناك طريقة أخرى لتدوير المصفوفة بمقدار 90 درجة وهي تدوير العناصر داخل المصفوفة نفسها دون استخدام ذاكرة إضافية. للقيام بذلك ، سنقوم بتغيير عناصر المصفوفة إلى عناصر معاكسة ، وتغيير موضعها وفقا للصيغة الرياضية لتدوير المصفوفة بمقدار 90 درجة. هذه الطريقة أكثر كفاءة من حيث استخدام الذاكرة ، ولكن قد يكون تنفيذها أكثر صعوبة.
- التحضير لتدوير المصفوفة
- فهم بنية المصفوفة
- اختيار الطريقة المناسبة
- تعليمات لتحويل المصفوفة
- أمثلة على دوران المصفوفة
- سؤال وجواب
- كيف يمكنني تدوير المصفوفة 90 درجات?
- هل من الممكن لتدوير مصفوفة 90 درجة في اتجاه عقارب الساعة?
- ماذا سيكون تعقيد خوارزمية دوران المصفوفة?
التحضير لتدوير المصفوفة
قبل البدء في تدوير المصفوفة بمقدار 90 درجة ، تحتاج إلى تنفيذ عدة خطوات تحضيرية. في هذا القسم ، سننظر في هذه الخطوات.
إنشاء مصفوفة
الخطوة الأولى هي إنشاء المصفوفة التي تريد تدويرها. المصفوفة عبارة عن جدول يتكون من صفوف وأعمدة. تحتوي كل خلية من المصفوفة على قيمة أو عنصر معين.
تحديد حجم المصفوفة
لتدوير المصفوفة بشكل صحيح بمقدار 90 درجة ، تحتاج إلى معرفة أبعادها. يتم تعيين أبعاد المصفوفة من خلال عدد الصفوف والأعمدة. يمكنك استخدام وظائف أو طرق لتحديد أبعاد المصفوفة في لغة البرمجة التي تستخدمها.
بعد الانتهاء من هذه الخطوات ، ستكون جاهزا لإجراء دوران مباشر للمصفوفة بمقدار 90 درجة. في الأقسام التالية ، سنلقي نظرة على الإرشادات والأمثلة التفصيلية لإجراء هذه العملية.
فهم بنية المصفوفة
المصفوفة هي مجموعة مرتبة من العناصر المنظمة في جدول. يتكون من صفوف وأعمدة تتقاطع في الخلايا.
في المصفوفة ، كل عنصر له إحداثياته الخاصة ، والتي يشار إليها بواسطة الفهارس. عادة ما يكون فهرس الصف الأول والعمود الأول 0.
يمكن تمثيل بنية المصفوفة كجدول ، حيث يوجد كل عنصر من عناصر المصفوفة في خلية منفصلة. يتم ترتيب صفوف المصفوفة أفقيا ، ويتم ترتيب الأعمدة عموديا.
من المهم ملاحظة أن المصفوفة يمكن أن تكون مستطيلة (قد يختلف عدد العناصر في الصفوف والأعمدة) أو مربعة (عدد العناصر في الصفوف والأعمدة هو نفسه).
تستخدم الفهارس للوصول إلى عناصر المصفوفة. للإشارة إلى عنصر عند تقاطع الصف الأول والعمود ي من المصفوفة أ ، التدوين أ [أنا] [ي] يستخدم.
مثال: دعنا نعطي المصفوفة التالية أ:
| أ [0] [0] | أ[0][1] | أ[0][2] |
| أ [1] [0] | أ[1][1] | أ[1][2] |
| أ [2] [0] | أ[2][1] | أ[2][2] |
في هذا المثال،أ [0] [0] يساوي العنصر الأول من المصفوفة ، أ[2] [1] يساوي العنصر السابع من المصفوفة ، إلخ.
من الضروري فهم بنية المصفوفة والوصول إلى عناصرها بشكل صحيح لحل المهام المختلفة ، بما في ذلك تدوير المصفوفة بمقدار 90 درجة.
اختيار الطريقة المناسبة
هناك عدة طرق لتدوير المصفوفة بمقدار 90 درجة. يعتمد اختيار الطريقة المناسبة على المهمة المحددة والأدوات المتاحة.
- طريقة دوران العنصر-تتكون هذه الطريقة من المرور عبر كل عنصر من عناصر المصفوفة واستبدالها بقيمة جديدة يتم الحصول عليها عن طريق تدوير العنصر بمقدار 90 درجة. تتطلب هذه الطريقة استخداما إضافيا للذاكرة الإضافية وهي الأسهل في التنفيذ.
- طريقة نقل وعكس ترتيب الأعمدة — تتضمن هذه الطريقة نقل مصفوفة (إعادة ترتيب الصفوف والأعمدة) ثم عكس ترتيب الأعمدة. مناسبة للمصفوفات حيث يتم تقسيم تعدد عدد الصفوف على 4
- طريقة الاستبدال الدوري لأربعة عناصر-في إطار هذه الطريقة ، يتم استبدال أربعة عناصر من المصفوفة دوريا في كل مصفوفة فرعية مربعة. تعمل هذه الطريقة مع المصفوفات من أي حجم ولا تتطلب ذاكرة إضافية
يعتمد اختيار الطريقة المناسبة على متطلبات الأداء والأدوات المتاحة وخصائص العمل مع المصفوفات في لغة برمجة معينة أو بيئة تطوير معينة.
تعليمات لتحويل المصفوفة
يمكن أن يكون تدوير المصفوفة بمقدار 90 درجة مفيدا عند العمل مع الصور أو معالجة البيانات أو في مهام البرمجة الأخرى. لتدوير المصفوفة ، اتبع الخطوات التالية:
- إنشاء مصفوفة جديدة مع الأبعاد التي هي معكوس المصفوفة الأصلية. على سبيل المثال ، إذا كان حجم المصفوفة الأصلية 3 4 4 ، فسيكون حجم المصفوفة الجديدة 4 3 3.
- انتقل من خلال عناصر المصفوفة الأصلية ووضعها في المصفوفة الجديدة ، مبادلة الفهارس. على سبيل المثال ، سيتم وضع عنصر من المصفوفة الأصلية مع الفهارس (أنا ، ي) في مصفوفة جديدة مع الفهارس (ي ، ط).
Вот пример кода на языке Python, который осуществляет поворот матрицы на 90 градусов:
def rotate_matrix(matrix):
rows = len(matrix)
cols = len(matrix[0])
rotated_matrix = [[0] * rows for _ in range(cols)]
for i in range(rows):
for j in range(cols):
rotated_matrix[j][i] = matrix[i][j]
return rotated_matrix
# Пример использования функции
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)
# Вывод: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
في هذا المثال ، تأخذ دالة المصفوفة الدوارة مدخلات المصفوفة الأصلية وتعيد المصفوفة المستديرة. أولا ، يتم تحديد عدد الصفوف والأعمدة من المصفوفة الأصلية. ثم يتم إنشاء مصفوفة جديدة باستخدام مولد قائمة. بعد ذلك ، يتم تمرير عناصر المصفوفة الأصلية ووضعها في مصفوفة جديدة باستخدام الفهارس.
يمكن إجراء دوران المصفوفة للمصفوفات من أي حجم ، وليس فقط مربع. فقط ضع في اعتبارك أنه عند الدوران ، ستغير أبعاد المصفوفة الأماكن.
وبالتالي ، يعد تدوير المصفوفة بمقدار 90 درجة أداة مهمة ومفيدة عند العمل مع المصفوفات ويمكن تنفيذها بسهولة باستخدام رمز برنامج بسيط.
أمثلة على دوران المصفوفة
فيما يلي أمثلة على تدوير المصفوفة بمقدار 90 درجة:
مثال 1:
المصفوفة الأصلية:
1 2 3 4 5 6 7 8 9 مصفوفة استدارة:
7 4 1 8 5 2 9 6 3 المثال 2:
المصفوفة الأصلية:
a b c d e f مصفوفة استدارة:
d a e b f c
سؤال وجواب
كيف يمكنني تدوير المصفوفة 90 درجات?
لتدوير المصفوفة بمقدار 90 درجة ، تحتاج إلى تطبيق بضع خطوات بسيطة. أولا ، تحتاج إلى إنشاء مصفوفة جديدة من نفس البعد الأصلي. ثم سنقوم بالتكرار على عناصر المصفوفة الأصلية ووضعها في المصفوفة الجديدة وفقا لذلك. للتدوير بمقدار 90 درجة ، يقع العنصر الموجود في الصف الأول والعمود ي يقع في الصف ي والعمود ن-أنا-1 من المصفوفة الجديدة ، أين ن هو بعد المصفوفة. وهكذا ، نذهب من خلال جميع عناصر المصفوفة الأصلية ووضعها في واحدة جديدة. بعد الانتهاء من هذه العملية ، يتم الحصول على المصفوفة المطلوبة ، بالتناوب بمقدار 90 درجة.
هل من الممكن لتدوير مصفوفة 90 درجة في اتجاه عقارب الساعة?
نعم ، يمكنك. تدوير المصفوفة 90 درجة عكس اتجاه عقارب الساعة وفي اتجاه عقارب الساعة يقلل إلى نفس العملية. لتدوير المصفوفة 90 درجة في اتجاه عقارب الساعة ، تحتاج أولا إلى تدوير المصفوفة 90 درجة عكس اتجاه عقارب الساعة ، ثم عكسها بالنسبة للمحور الأفقي. يمكن القيام بذلك عن طريق تبديل صفوف المصفوفة.
ماذا سيكون تعقيد خوارزمية دوران المصفوفة?
تعقيد الخوارزمية لتدوير المصفوفة بمقدار 90 درجة هو ا (ن^2) ، أين ن هو بعد المصفوفة. هذا لأننا نتصفح جميع عناصر المصفوفة مرة واحدة ونضعها في مصفوفة جديدة. وبالتالي ، يعتمد وقت تنفيذ الخوارزمية على مربع أبعاد المصفوفة.