Saud | سعود الانصاري
Saud | سعود الانصاري

@Alansaricodez

14 تغريدة 1 قراءة Jun 15, 2023
❗️عليك تعلم هياكل البيانات اذا كنت مبرمج❗️
هياكل البيانات هي طريقة لتنظيم البيانات وتخزينها في الكمبيوتر بحيث يمكن الوصول إليها وتعديلها ومعالجتها بكفاءة
🟢هناك عدة أنواع من هياكل البيانات:
⬅️ المصفوفات ِArrays
⬅️ القوائم المرتبطة Linked Lists
⬅️ المكدسات Stacks
⬅️قوائم الانتظار Queues
⬅️ الأشجار Tress
⬅️ الرسوم البيانية Graphs
🟢تشمل فوائد استخدام هياكل البيانات ما يلي:
⬅️تحسين تعقيد الزمان والمكان Time complexity
⬅️تخزين واسترجاع البيانات بكفاءة
⬅️تنظيم وإدارة أفضل للبيانات
⬅️القدرة على حل المشكلات المعقدة بكفاءة
يستخدم المبرمجون هياكل البيانات لحل المشكلات المختلفة في علوم الكمبيوتر وهندسة البرمجيات
📗مثال:
يمكن استخدام قائمة مرتبطة linked list لتنفيذ قائمة انتظار queue، والتي يمكن استخدامها في جدولة الوظائف وإدارة العمليات
يمكن استخدام هيكل الشجرة tree لتخزين البيانات الهرمية مثل أنظمة الملفات، ويمكن استخدام الرسم البياني graph لنمذجة العلاقات بين الكائنات مثل الشبكات الاجتماعية
📗مثال على كود لقائمة مرتبطة linked list في Python:
ينشئ هذا الكود قائمة مرتبطة linked list، مع فئة القائمة المرتبطة التي تحتوي على عقدة رئيسية node وطريقة لإضافة عقدة إلى القائمة المرتبطة
تحتوي فئة العقدة node على بيانات ومرجع إلى العقدة التالية في القائمة
🟢لنتعلم أنواع هياكل البيانات:
1⃣ المصفوفات Arrays:
هي بنية بيانات بسيطة تخزن مجموعة من العناصر، يتم تحديد كل منها بواسطة فهرس أو مفتاح
المصفوفات لها تعقيد زمني ثابت للوصول إلى عنصر في فهرس معين، ولكن لها تعقيد زمني خطي لإدراج أو حذف عنصر في منتصف المصفوفة
2⃣ القوائم المرتبطة Linked lists:
هي بنية بيانات ديناميكية تخزن مجموعة من العناصر، حيث يحتوي كل عنصر على مرجع للعنصر التالي في القائمة
القوائم المرتبطة لها تعقيد زمني ثابت لإدراج عنصر أو حذفه في بداية القائمة، ولكن لها تعقيد زمني خطي للوصول إلى عنصر بواسطة فهرس
3⃣ المكدسات Stacks:
عبارة عن بنية بيانات خطية تخزن العناصر بطريقة Last-In-First-Out (LIFO)، حيث يكون العنصر الذي تمت إضافته مؤخرًا هو أول عنصر يتم إزالته
المكدس stack لها تعقيد زمني ثابت لإدراج عنصر أو إزالته
4⃣ قوائم الانتظار Queues:
هي بنية بيانات خطية تخزن العناصر بطريقة الوارد أولاً يصرف أولاً First In First Out (FIFO) ، حيث يكون العنصر الأول المضاف هو أول عنصر يتم إزالته
قوائم الانتظار لها تعقيد زمني ثابت لإدراج عنصر في النهاية وإزالة عنصر من البداية
5⃣ الأشجار Trees:
عبارة عن بنية بيانات هرمية تخزن العناصر في بنية تشبه الشجرة، حيث يكون لكل عنصر عنصر أصل وصفر أو أكثر من العناصر الفرعية
تحتوي الأشجار على تعقيد زمني لوغاريتمي للبحث عن العناصر وإدراجها وحذفها
6⃣ الرسوم البيانية Graphs:
هي بنية بيانات غير خطية تخزن العناصر والوصلات بينها
الرسوم البيانية لها تعقيد زمني خطي أو لوغاريتمي للبحث عن العناصر وإدراجها وحذفها، اعتمادًا على الخوارزمية المستخدمة
هناك العديد من الخوارزميات والتقنيات التي تُستخدم لتنفيذ هياكل البيانات ومعالجتها، مثل الفرز sorting والبحث searching والاجتياز traversal
يمكن أن يكون لهذه الخوارزميات والتقنيات تأثير كبير على أداء تطبيق برمجي وهي جانب مهم في علوم الكمبيوتر وهندسة البرمجيات
هل تعلمت شيء جديد؟ لا تنس اعادة التغريد حتى يستفيد الجميع🙏

جاري تحميل الاقتراحات...