هياكل البيانات والمعاينة في السحب
هذه هي ملخص لعلامي من مسار UDEMY: "هياكل البيانات و algo في Swift"
تعقيد الوقت:
- وقت ثابت
- الوقت الخطي
- الوقت التربيعي
- الوقت اللوغاريتمي - البحث الثنائي
- وقت شبه خاطئ
العقدة:
- جذر
- طفل -> الطفل الأيسر والطفل الأيمن
- ورقة
قائمة مرتبطة
العناصر متصلة ببعضها البعض بالرجوع إليها العقد تسمى العقد
تسمى العقدة الأولى في القائمة المرتبطة الرأس
تسمى العقدة الأخيرة عقدة الذيل
العمليات: - Push - Aspend - Insert - Pop - Removelast - إزالة
مكدس (LIFO)
قائمة الانتظار (FIFO)
- نظرة خاطفة
- enqueue
- dequeue
عودة
- القاعدة - التي توقف العودية.
- حالة العودية
الأشجار:
- عمق أول اجتياز
- ترتيب المستوى اجتياز
- يبحث
- شجرة ثنائية (يمكن أن يكون لها الحد الأقصى من: طفلان فقط - اليسار واليمين)
- من أجل اجتياز -> Leftchild -> Node -> RightChild
- مرحلة ما بعد الترتيب -> Leftchild -> Rightchild -> Node
- مسبق الترتيب -> العقدة -> Leftchild -> RightChild
- شجرة البحث الثنائية
البحث الخطي
البحث الثنائي
- صفيف فرز
- الفهرس الأوسط - اليسار أو اليمين
- أفضل وقت: O (1)
- أسوأ وقت: o (سجل n)
نوع الفقاعة
- غير مصنفة
- أفضل وقت: o (n) (إذا تم فرزها بالفعل)
- أسوأ وقت: o (n^2)
نوع الاختيار
- قم بتبديل الحد الأدنى للعنصر في الصفيف مع الفهرس الحالي
- انتقل إلى الفهرس التالي وكرر الخطوة 1
- أفضل وقت: O (n^2)
- أسوأ وقت: o (n^2)
نوع الإدراج
- غير مصنفة
- أفضل وقت: O (N)
- أسوأ وقت: o (n^2)
الرسم البياني:
تتكون من
- رؤوس / قمة
- الحواف / الحافة
أنواع الرسوم البيانية:
- الرسوم البيانية المرجح
- الرسوم البيانية الموجهة
- الرسوم البيانية غير الموجهة (ثنائية الاتجاه)
قائمة المجاورة
- الطريقة الأكثر شيوعًا/المستخدمة على نطاق واسع لإنشاء وتمثيل رسم بياني