Contents
- 1 كورس الخوارزميات و هياكل البيانات
- 2 الخوارزميات وهيكلة البيانات أقوي واصعب مراحل البرمجة على الاطلاق
- 3 عند الحديث عن الخوارزميات و هيكلة البيانات فإننا نتحدث عن مرحلة المبرمج العملاق فبالتأكيد لن تكون سهلة او بسيطة لكنها ليست
- 4 بالمستحيلة فكل ما يحتاجه الامر هو مجر عملية تنظيمية لمحتوي دراسة هذه المرحلة و الأفضل دائما البدء بهيكلة البيانات ثم التطرق
- 5 الى الدخول في عالم الخوارزميات فسوف تكون الأمور ابسط و اسرع. ولعلك تتساءل الان ما فائدة هذه المرحلة و تكون الإجابة ان هناك
- 6 سببين لدراستها فهيكلة البينات تمكنك من انشاء كود برمجي قوي و سريع و خالى من الأخطاء و الخوارزميات هي ليست الى آلية عمل
- 7 كل شي في الكود البرمجي لكن مازال هذا شرح مبسط جدا للفكرة ولكن تخيل معي برنامج مكود بهذه الأساسيات و ينطبق عليه مبدأ
- 8 السرعة و انعدام الأخطاء بخوارزميات معقدة تجعل أسلوب عمل البرنامج بسيط بالتأكيد سيكون هذا البرنامج الأفضل و سيكون هذا
- 9 المبرمج هو اختيار الشركات الأول.
- 10 ما هي هياكل البيانات في البرمجة ؟
- 11 هياكل البيانات هي طريقة لجمع البيانات وتنظيمها بطريقة تمكننا من إجراء عمليات على هذه البيانات بطريقة فعالة.
- 12 بشكل مبسط هياكل البيانات تعتمد على تصميم عملية التخزين في الحاسب بطريقة فعالة وغير معقد ليدعم نوع البيانات المراد تخزينها ليعمل الكود او الخوارزمية بطريقة اسرع واكثر كفاءة.
- 13 اهمية هياكل البيانات :
- 14 هياكل البيانات لها اهمية كبيرة في لإدارة والتعامل مع كميات ضخمة من البيانات بفاعلية.
- 15 سرعة المعالجة للبيانات: عند التعامل مع كمية كبيرة من البيانات تصبح عملية المعالجة عملية حيوية وتأخد معالجة هذه البيانات وقت اطول ،و يلزم هنا استخدام هيكل مناسب لحفظ البيانات لسهولة معالجة هذه البيانات.
- 16 سهولة الوصول والبحث عن البيانات: يجب أن توفر هياكل البيانات المستخدمة في تطبيق معين الوصول إلى بيانات معينة بسهولة.
- 17 الاستخدام الفعال للذاكرة: من خلال تصميم بنية مناسبة لتخزين البيانات، يمكن تحسين استخدام الذاكرة من حيث تقليل المساحة المطلوبة لتخزينها، فعلى سبيل المثال ، يمكننا استخدام القائمة المرتبطة Linked lists بدلًا من المصفوفات عندما لا نكون لا نعرف حجم البيانات المراد تخزينها قبل بدء التطبيق.
- 18 تطبيقات هياكل البيانات
- 19 لهياكل البيانات الكثير من التطبيقات العملية فأي برنامج او تطبيق يحتوى على الكثير من البيانات يلزم استخدام هياكل البيانات المناسبة
- 20 لتمثيل هذه البيانات ولسهولة التعامل معها.
- 21 فمثلًا تستخدم مواقع التواصل الاجتماعي نوع من هياكل البيانات يسمى جراف Graph وهذا النوع مناسب لتمثيل البيانات المتصلة
- 22 ببعضها فعلى سبيل المثال المستخدمين في فيس بوك حيث يمكن تمثيل كل شخص في عقدة والحواف بينهم تمثل العلاقة مع
- 23 مستخدم ا خر.
- 24 انواع هياكل البيانات في لغات البرمجة
- 25 يوجد نوعان من هياكل البيانات النوع الاول وهو النوع البدائي او Primitive والنوع الثاني هو النوع المعقد وهو مكون من النوع البدائي.
- 26 النوع البدائي هو طريقة لتصنيف أنواع مختلفة من البيانات مثل الأعداد الصحيحة ، والسلاسل الحرفية او النصوص ، وعليه يتم تحديد
- 27 العمليات المستخدمة بين انواع البيانات المختلفة. فمثلًا انواع البيانات من نوع الاعداد الصحيحة Integers يكمن اجراء العمليات الحسابية
- 28 المختلفة عليها. بينما في حالة النصوص يمكن دمج النصوص. ثم لدينا أيضًا هياكل البيانات المعقدة ، والتي يتم استخدامها لتخزين
- 29 البيانات الكبيرة والبيانات التي بينها علاقة او متصلة.
- 30 امثلة على انواع هياكل البيانات المعقدة
- 31 Array
- 32 Linked List
- 33 Tree
- 34 Graph
- 35 Stack, Queue
- 36 كل نوع منها له خصائص معينة ويسمح لنا كل نوع بعمليات مختلفة على البيانات والاختيار يكون على حسب طبيعة البيانات.
- 37 الخوارزميات في البرمجة
- 38 الخوارزميات هي مجموعة من الخطوات والاوامر الواضحة التي تكتب لحل مشكلة برمجية معينة , ويقال ان الخوارزمية جيدة اذا كانت
- 39 سريعة في التنفيذ ولها كفاءة عالية في التخزين.
- 40 هيكل بيانات المصفوفة Arrays
- 41 من هياكل البيانات المهمة في البرمجة والمستخدمة كثيرًا في الخوارزميات المختلفة , وهى عدد ثابت من العناصر المخزنة و التي يكون
- 42 لها نفس النوع , وكل عنصر من عناصر المصفوفة له رقم او فهرس Index ويتم تخزين المصفوفة بشكل متجاور في الذاكرة.
- 43 يمكننا الوصول إلى كل عنصر من المصفوفة لتعديله او حذفه والحصول على قيمته عن طريق هذا الفهرس Index.
- 44 هيكل بيانات القوائم المرتبطة Linked List
- 45 مثل المصفوفات ، القائمة المرتبطة هو هيكل بيانات خطي. وبخلاف المصفوفات ، لا يتم تخزين عناصر القوائم المرتبطة في امكان
- 46 متجاورة فى الذاكرة ؛ ترتبط العناصر باستخدام المؤشرات او Pointers.
- 47 كورس هياكل البيانات و الخوارزميات يمكنك البدء من هنا
- 48
كورس الخوارزميات و هياكل البيانات
الخوارزميات وهيكلة البيانات أقوي واصعب مراحل البرمجة على الاطلاق
عند الحديث عن الخوارزميات و هيكلة البيانات فإننا نتحدث عن مرحلة المبرمج العملاق فبالتأكيد لن تكون سهلة او بسيطة لكنها ليست
بالمستحيلة فكل ما يحتاجه الامر هو مجر عملية تنظيمية لمحتوي دراسة هذه المرحلة و الأفضل دائما البدء بهيكلة البيانات ثم التطرق
الى الدخول في عالم الخوارزميات فسوف تكون الأمور ابسط و اسرع. ولعلك تتساءل الان ما فائدة هذه المرحلة و تكون الإجابة ان هناك
سببين لدراستها فهيكلة البينات تمكنك من انشاء كود برمجي قوي و سريع و خالى من الأخطاء و الخوارزميات هي ليست الى آلية عمل
كل شي في الكود البرمجي لكن مازال هذا شرح مبسط جدا للفكرة ولكن تخيل معي برنامج مكود بهذه الأساسيات و ينطبق عليه مبدأ
السرعة و انعدام الأخطاء بخوارزميات معقدة تجعل أسلوب عمل البرنامج بسيط بالتأكيد سيكون هذا البرنامج الأفضل و سيكون هذا
المبرمج هو اختيار الشركات الأول.
ما هي هياكل البيانات في البرمجة ؟
هياكل البيانات هي طريقة لجمع البيانات وتنظيمها بطريقة تمكننا من إجراء عمليات على هذه البيانات بطريقة فعالة.
بشكل مبسط هياكل البيانات تعتمد على تصميم عملية التخزين في الحاسب بطريقة فعالة وغير معقد ليدعم نوع البيانات المراد تخزينها ليعمل الكود او الخوارزمية بطريقة اسرع واكثر كفاءة.
اهمية هياكل البيانات :
هياكل البيانات لها اهمية كبيرة في لإدارة والتعامل مع كميات ضخمة من البيانات بفاعلية.
-
سرعة المعالجة للبيانات: عند التعامل مع كمية كبيرة من البيانات تصبح عملية المعالجة عملية حيوية وتأخد معالجة هذه البيانات وقت اطول ،و يلزم هنا استخدام هيكل مناسب لحفظ البيانات لسهولة معالجة هذه البيانات.
-
-
سهولة الوصول والبحث عن البيانات: يجب أن توفر هياكل البيانات المستخدمة في تطبيق معين الوصول إلى بيانات معينة بسهولة.
-
-
الاستخدام الفعال للذاكرة: من خلال تصميم بنية مناسبة لتخزين البيانات، يمكن تحسين استخدام الذاكرة من حيث تقليل المساحة المطلوبة لتخزينها، فعلى سبيل المثال ، يمكننا استخدام القائمة المرتبطة Linked lists بدلًا من المصفوفات عندما لا نكون لا نعرف حجم البيانات المراد تخزينها قبل بدء التطبيق.
تطبيقات هياكل البيانات
لهياكل البيانات الكثير من التطبيقات العملية فأي برنامج او تطبيق يحتوى على الكثير من البيانات يلزم استخدام هياكل البيانات المناسبة
لتمثيل هذه البيانات ولسهولة التعامل معها.
فمثلًا تستخدم مواقع التواصل الاجتماعي نوع من هياكل البيانات يسمى جراف Graph وهذا النوع مناسب لتمثيل البيانات المتصلة
ببعضها فعلى سبيل المثال المستخدمين في فيس بوك حيث يمكن تمثيل كل شخص في عقدة والحواف بينهم تمثل العلاقة مع
مستخدم ا خر.
انواع هياكل البيانات في لغات البرمجة
يوجد نوعان من هياكل البيانات النوع الاول وهو النوع البدائي او Primitive والنوع الثاني هو النوع المعقد وهو مكون من النوع البدائي.
النوع البدائي هو طريقة لتصنيف أنواع مختلفة من البيانات مثل الأعداد الصحيحة ، والسلاسل الحرفية او النصوص ، وعليه يتم تحديد
العمليات المستخدمة بين انواع البيانات المختلفة. فمثلًا انواع البيانات من نوع الاعداد الصحيحة Integers يكمن اجراء العمليات الحسابية
المختلفة عليها. بينما في حالة النصوص يمكن دمج النصوص. ثم لدينا أيضًا هياكل البيانات المعقدة ، والتي يتم استخدامها لتخزين
البيانات الكبيرة والبيانات التي بينها علاقة او متصلة.
امثلة على انواع هياكل البيانات المعقدة
Array
Linked List
Tree
Graph
Stack, Queue
كل نوع منها له خصائص معينة ويسمح لنا كل نوع بعمليات مختلفة على البيانات والاختيار يكون على حسب طبيعة البيانات.
الخوارزميات في البرمجة
الخوارزميات هي مجموعة من الخطوات والاوامر الواضحة التي تكتب لحل مشكلة برمجية معينة , ويقال ان الخوارزمية جيدة اذا كانت
سريعة في التنفيذ ولها كفاءة عالية في التخزين.
هيكل بيانات المصفوفة Arrays
من هياكل البيانات المهمة في البرمجة والمستخدمة كثيرًا في الخوارزميات المختلفة , وهى عدد ثابت من العناصر المخزنة و التي يكون
لها نفس النوع , وكل عنصر من عناصر المصفوفة له رقم او فهرس Index ويتم تخزين المصفوفة بشكل متجاور في الذاكرة.
يمكننا الوصول إلى كل عنصر من المصفوفة لتعديله او حذفه والحصول على قيمته عن طريق هذا الفهرس Index.
هيكل بيانات القوائم المرتبطة Linked List
مثل المصفوفات ، القائمة المرتبطة هو هيكل بيانات خطي. وبخلاف المصفوفات ، لا يتم تخزين عناصر القوائم المرتبطة في امكان
متجاورة فى الذاكرة ؛ ترتبط العناصر باستخدام المؤشرات او Pointers.