شبكة بحوث وتقارير ومعلومات
اخر المشاهدات
مواقعنا
اخر بحث
الرئيسية الدليل خارطة الموقع
غسيل سجاد رخيص كفالة يومين – نغطي الكويت
[ تعرٌف على ] تمثيل O الكبرى تم النشر اليوم [dadate] | تمثيل O الكبرى

تعريف

رمز O كبير: نقول أَنَّ g ( n ) ∈ O ( f ( n ) ) {\displaystyle g(n)\in O(f(n))} أو g ( n ) = O ( f ( n ) ) {\displaystyle g(n)=O(f(n))} إذا كان هنالك ثابت c {\displaystyle c} بحيث انه يوجد n 0 ∈ N {\displaystyle n_{0}\in N} ولكل n > n 0 {\displaystyle n>n_{0}} يحدث التالي: g ( n ) ≤ c ⋅ f ( n ) {\displaystyle g(n)\leq c\cdot f(n)} أي انه إذا تخيلنا رسم الدالتين f و- g حينها نرى ان الدالة f اعلى من الدالة g ابتداء من مكان معين. على غرار رمز O الكبير يمكن تعريف الرموز التالية: رمز Ω: نقول أَنَّ g ( n ) ∈ Ω ( f ( n ) ) {\displaystyle g(n)\in \Omega (f(n))} أو g ( n ) = Ω ( f ( n ) ) {\displaystyle g(n)=\Omega (f(n))} إذا كان هنالك ثابت c {\displaystyle c} بحيث انه يوجد n 0 ∈ N {\displaystyle n_{0}\in N} ولكل n > n 0 {\displaystyle n>n_{0}} يحدث التالي: g ( n ) ≥ c ⋅ f ( n ) {\displaystyle g(n)\geq c\cdot f(n)} أي انه إذا تخيلنا رسم الدالتين f و- g حينها نرى ان الدالة f تحت الدالة g ابتداء من مكان معين. رمز Θ: نقول أَنَّ g ( n ) ∈ Θ ( f ( n ) ) {\displaystyle g(n)\in \Theta (f(n))} أو g ( n ) = Θ ( f ( n ) ) {\displaystyle g(n)=\Theta (f(n))} إذا كان هنالك ثابت c 1 , c 2 {\displaystyle c_{1},c_{2}} بحيث انه يوجد n 0 ∈ N {\displaystyle n_{0}\in N} ولكل n > n 0 {\displaystyle n>n_{0}} يحدث التالي: c 1 ⋅ f ( n ) ≤ g ( n ) ≤ c 2 ⋅ f ( n ) {\displaystyle c_{1}\cdot f(n)\leq g(n)\leq c_{2}\cdot f(n)} أي انه g ( n ) = Θ ( f ( n ) ) {\displaystyle g(n)=\Theta (f(n))} إذا g ( n ) = O ( f ( n ) ) {\displaystyle g(n)=O(f(n))} وأيضا g ( n ) = Ω ( f ( n ) ) {\displaystyle g(n)=\Omega (f(n))} أي انَّ الرسم البياني للدالة g محصور بين c 1 ⋅ f {\displaystyle c_{1}\cdot f} وبين c 2 ⋅ f {\displaystyle c_{2}\cdot f} .

جدول دوال

ترميز تعقيد مثال لخوارزمية O(1) {\displaystyle {\mbox{O(1)}}} ثابت مقارنة عددين O(log(n)) {\displaystyle {\mbox{O(log(n))}}} لوغاريثمي بحث ثنائي O(n log(n)) {\displaystyle {\mbox{O(n log(n))}}} لوغاريثمي-خطي تصنيف اعداد O ( ( log c (n))) {\displaystyle O(({\mbox{log}}^{\mbox{c}}{\mbox{(n)))}}} لوغاريثمي-متعدد فحص الاولية اي باعطائنا عدد افحص إذا ما هو عدد اولي. O(n) {\displaystyle {\mbox{O(n)}}} خطي بحث خطي O(n 2 ) {\displaystyle {\mbox{O(n}}^{2})} رباعي ضرب عددين O(n c ) {\displaystyle {\mbox{O(n}}^{\mbox{c}})} حدودي ضرب مصفوفتين O(c n ) {\displaystyle {\mbox{O(c}}^{\mbox{n}})} أسي تلوين مخطط بثلاثة الوان O(n!) {\displaystyle {\mbox{O(n!)}}} عاملي حل مسـالة البائع المتجول

تحليل الخوارزميات

عند تحليل خوارزمية ما، نريد حساب عدد الحسابات أو سرعة الخوارزمية أو تعقيدها الحسابي، ونستطيع كتابة التعقيد الحسابي اما عن طريق معادلة عودية واما بطريقة مباشرة، في كلا الحالتين نرمز للتعقيد ب- T ( n ) {\displaystyle T(n)} عندما n هو طول المُدخل للخوارزمية، مثال لخوارزمية هي خوارزمية البحث الخطي من المفهوم ضمنا ان عدد حساباتها هو: T ( n ) = O ( n ) {\displaystyle T(n)=O(n)} وذلك لانها تقارن كل عدد في القائمة مرة واحدة مع العدد المُدخل وبما ان طول القائمة هو فرضا n عندها عدد حسابات الخوارزمية هو (قيمة المقارنة الواحدة) ⋅ n {\displaystyle \cdot n} وفيمة المقارنة الواحدة تعتمد على نموذج الحساب (computational model) لذا قد يكون من الصعب اعطاء تقريب لهذه القيمة لذا فانه من المفيد ان نفترض ان قيمة كل مقارنة هو عدد ثابت من الحسابات أي انه: يوجد ثابت c بحيث ان كل مقارنة عدد حساباتها اقل من c ، لذا فاننا نحصل على T ( n ) ≤ c ⋅ n {\displaystyle T(n)\leq c\cdot n} وحسب تعريف رمز O الكبير نحصل على انه T ( n ) = O ( n ) {\displaystyle T(n)=O(n)} .

خواص رمز O كبير والرموز الأخرى

الصورة توضح انه باختيار الثابت الصحيح في رمز O الكبير يمكن اهمال احادية الحدود التي أُسها صغير وكذلك يمكن اهمال المعاملات المضروبة باحادية الحدود اهمال الثوابت والدوال ذات الدرجة الصغيرة بما ان رمز O الكبير يفترض وجود ثابت c بحيث انه يُحقق امر مُعين (حسب التعريف) لذا فانه يمكن اهمال الثوابت، مثال T ( n ) = 2 ⋅ n 5 + n 4 + n 3 {\displaystyle T(n)=2\cdot n^{5}+n^{4}+n^{3}} يمكن اهمال العدد 2 المضروب ب- n 5 {\displaystyle n^{5}} وكذلك يمكن اهمال n 4 + n 3 {\displaystyle n^{4}+n^{3}} وذلك لانه إذا اخذنا ثابت كبير كفاية يمكن حينها ان نهمل الثوابت واحادية الحدود التي اسها صغير وكذلك المعاملات (انظر إلى الصورة) لذا فانه، T ( n ) = O ( n 5 ) {\displaystyle T(n)=O(n^{5})} وبشكل عام إذا كان تعقيد الخوارزمية متعدد الحدود فاذا كان الاس الأكبر هو k حينها: T ( n ) = O ( n k ) {\displaystyle T(n)=O(n^{k})} . خاصية التعدي f ( n ) = Θ ( g ( n ) ) {\displaystyle f(n)=\Theta (g(n))} وكذلك g ( n ) = Θ ( h ( n ) ) {\displaystyle g(n)=\Theta (h(n))} حينئذ يتحقق f ( n ) = Θ ( h ( n ) ) {\displaystyle f(n)=\Theta (h(n))} f ( n ) = O ( g ( n ) ) {\displaystyle f(n)=O(g(n))} وكذلك g ( n ) = O ( h ( n ) ) {\displaystyle g(n)=O(h(n))} حينئذ يتحقق f ( n ) = O ( h ( n ) ) {\displaystyle f(n)=O(h(n))} f ( n ) = Ω ( g ( n ) ) {\displaystyle f(n)=\Omega (g(n))} وكذلك g ( n ) = Ω ( h ( n ) ) {\displaystyle g(n)=\Omega (h(n))} حينئذ يتحقق f ( n ) = Ω ( h ( n ) ) {\displaystyle f(n)=\Omega (h(n))} خاصية الانعكاسية f ( n ) = Θ ( f ( n ) ) {\displaystyle f(n)=\Theta (f(n))} f ( n ) = O ( g ( n ) ) {\displaystyle f(n)=O(g(n))} f ( n ) = Ω ( g ( n ) ) {\displaystyle f(n)=\Omega (g(n))} خاصية التماثل f ( n ) = Θ ( g ( n ) ) {\displaystyle f(n)=\Theta (g(n))} إذا وفقط إذا g ( n ) = Θ ( f ( n ) ) {\displaystyle g(n)=\Theta (f(n))}

شرح مبسط

تعديل - تعديل مصدري - تعديل ويكي بيانات
التعليقات

لم يعلق احد حتى الآن .. كن اول من يعلق بالضغط هنا
ماتكتبه هنا سيظهر بالكامل .. لذا تجنب وضع بيانات ذات خصوصية بك وتجنب المشين من القول

captcha
اشتراكات مصبغة محافظة مبارك الكبير والأحمدي
هل أنت صاحب المنشأة؟ قم بتحديث صفحتك مجاناً