الگورتھم جي پيچيدگي بنيادي طور تي ٻن وسيلن کي خطاب ڪري ٿي:
وقت
(عمل درآمد جي مدت) ۽
جاءِ
(ياداشت جو استعمال). جڏهن ته وقت جي پيچيدگي ماپ ڪري ٿي ته رن ٽائم ان پٽ سائيز سان ڪيئن وڌندو آهي (
ن
)، خلائي پيچيدگي ياداشت جي استعمال جو جائزو وٺندي آهي. مثال طور:
- هڪ الگورتھم سان
او (ن)
وقت جي پيچيدگي ان پٽ سائيز سان لڪير سان ماپي ٿي.
- هڪ الگورتھم سان
O(1)
خلائي پيچيدگي ان پٽ سائيز جي پرواهه ڪرڻ کان سواءِ مسلسل ياداشت استعمال ڪري ٿي.
ٻئي ميٽرڪ ضروري آهن. هڪ تيز الگورٿم وڏي ڊيٽاسيٽس تي ياداشت کي ختم ڪري سگهي ٿو، جڏهن ته ياداشت جي لحاظ کان موثر الگورٿم حقيقي وقت جي ايپليڪيشنن لاءِ تمام سست ٿي سگهي ٿو.
ڪارڪردگي ممڪن هجڻ جو تعين ڪري ٿي. 10 ملين جي مقابلي ۾ 10 شين جي فهرست کي ترتيب ڏيڻ تي غور ڪريو.:
- A
بلبل جي ترتيب
(
او (ن)
) ننڍن ڊيٽاسيٽس لاءِ ڪافي ٿي سگهي ٿو پر وڏن لاءِ غير عملي ٿي ويندو آهي.
- A
ضم ڪرڻ جي ترتيب
(
او (اين لاگ اين)
) وڏن ڊيٽاسيٽس کي خوبصورتي سان سنڀاليندو آهي پر اضافي ياداشت جي ضرورت هوندي آهي.
پيچيدگي جو تجزيو الگورتھم جي مقابلي لاءِ هڪ عالمگير ٻولي فراهم ڪري ٿو، هارڊويئر جي مخصوص تفصيلن کي ختم ڪري ٿو. اهو ڊولپرز کي اسڪيليبلٽي جي اڳڪٿي ڪرڻ ۽ نازڪ نظامن ۾ رڪاوٽن کان بچڻ جي طاقت ڏئي ٿو.
غير علامتي نوٽيشن افعال جي محدود رويي کي بيان ڪن ٿا، پيچيدگي لاءِ مختصر لفظ پيش ڪن ٿا. ٽي بنيادي نشانيون آهن:
بگ او نوٽيشن وضاحت ڪري ٿو ته هڪ الگورتھم وڌ ۾ وڌ وقت يا جاءِ وٺندو. مثال طور:
-
O(1)
: مسلسل وقت (مثال طور، انڊيڪس ذريعي هڪ صف عنصر تائين رسائي).
-
او (ن)
: لڪير وارو وقت (مثال طور، هڪ فهرست ذريعي ورجائڻ).
-
او (ن)
: ڪواڊريٽڪ وقت (مثال طور، بلبل جي ترتيب ۾ نيسٽڊ لوپس).
بگ او سڀ کان وڌيڪ استعمال ٿيندڙ ميٽرڪ آهي، ڇاڪاڻ ته اهو ڪارڪردگي جي حد جي ضمانت ڏئي ٿو.
اوميگا گھٽ ۾ گھٽ گهربل وقت بيان ڪري ٿو. مثال طور:
- هڪ لڪير واري ڳولا آهي
(1)
جيڪڏهن ٽارگيٽ پهريون عنصر آهي.
جڏهن ته پراميد، بهترين ڪيس جو تجزيو بدترين ڪيس جي منصوبابندي لاءِ گهٽ معلوماتي آهي.
ٿيٽا بگ او ۽ اوميگا کي گڏ ڪري ٿو، جيڪو بلڪل غير علامتي رويي جي نمائندگي ڪري ٿو. جيڪڏهن هڪ الگورتھم بهترين ۽ بدترين ڪيس ساڳيا آهن:
-
(ن لاگ ن)
سراسري ۽ بدترين حالتن جي ضم ڪرڻ تي لاڳو ٿئي ٿو.
اهي نوٽيشنز واڌ جي شرح تي ڌيان ڏيندي، دور مستقل ۽ هيٺين ترتيب جي اصطلاحن کي خلاصو ڪن ٿا. مثال طور، 2 ن + 3 ن + 4 آسان بڻائي ٿو او (ن) ڇاڪاڻ ته چوٿون اصطلاح وڏي لاءِ غالب آهي ن .
پيچيدگي جي ڪلاسن کي سمجهڻ اسڪيليبلٽي جي لحاظ کان الگورتھم کي درجه بندي ڪرڻ ۾ مدد ڪري ٿو. هتي سڀ کان وڌيڪ ڪارآمد کان گهٽ ڪارآمد تائين هڪ درجو آهي:
عملدرآمد جو وقت يا ياداشت تبديل نه ٿيندي رهي ٿي جيئن
ن
وڌندو آهي.
-
مثال
: ڪي ذريعي هيش ٽيبل ويليو تائين رسائي.
رن ٽائم لاگارٿميڪلي سان وڌي ٿو
ن
.
-
مثال
: بائنري ڳولا هر ورهاڱي ۾ ان پٽ اسپيس کي اڌ ڪري ٿي.
رن ٽائم تناسب سان ماپي ٿو
ن
.
-
مثال
: هڪ غير ترتيب ڏنل فهرست ذريعي لڪير واري ڳولا.
ورهائي ۽ فتح ڪرڻ واري الگورتھم ۾ عام.
-
مثال
: ترتيب ۽ ڍير جي ترتيب کي ضم ڪريو.
نيسٽڊ اِٽريشن ڌماڪيدار واڌ جو سبب بڻجن ٿا.
-
مثال
: بلبل جي ترتيب ۽ چونڊ جي ترتيب.
هر اضافي ان پٽ سان رن ٽائم ٻيڻو ٿي ويندو آهي.
-
مثال
: يادداشت کان سواءِ ورجائيندڙ فبونچي حساب.
ترتيب تي ٻڌل الگورتھم.
-
مثال
: سفر ڪندڙ سيلزمين جي مسئلي کي وحشي طاقت ذريعي حل ڪرڻ.
جي وچ ۾ فرق او (اين لاگ اين) ۽ او (ن) سخت ٿي ويندو آهي ن = 10 : پهريون ملي سيڪنڊن ۾ عمل ۾ اچي سگهي ٿو، جڏهن ته ٻيو ڏينهن وٺي سگهي ٿو.
ان پٽ ترتيبن جي بنياد تي الگورتھم مختلف طريقي سان ڪم ڪن ٿا. سڀني ڪيسن جو تجزيو مضبوطي کي يقيني بڻائي ٿو:
هڪ ڊيٽابيس ڪوئري آپٽمائيزر شايد هيش جوائن جي وچ ۾ چونڊ ڪري سگهي ٿو ( او (ن + م) ) ۽ نيسٽڊ لوپ جوائن ( او (اين ايم) ) ڊيٽا جي ورڇ جي بنياد تي. بدترين حالتن جو تجزيو حفاظتي نازڪ نظامن (مثال طور، هوائي جهازن جو سافٽ ويئر) لاءِ اهم آهي، جتي غير متوقع طور تي ناقابل قبول آهي.
ساڳيو مسئلو مختلف الگورتھم استعمال ڪندي حل ڪري سگهجي ٿو. مثال طور، قدرن جي فهرست ۾ ٽارگيٽ ويليو ڳولڻ جو مسئلو مختلف الگورتھم استعمال ڪندي حل ڪري سگهجي ٿو، جهڙوڪ لڪير واري ڳولا، بائنري ڳولا، يا هيش ٽيبل ڳولا.
هيٺ ڏنل جدول انهن الگورتھم جي وقت ۽ خلا جي پيچيدگين جو مقابلو ڪري ٿو جيڪي هڪ فهرست ۾ هڪ ٽارگيٽ ويليو ڳولڻ لاءِ آهن ن قدر.
الگورتھم جو انتخاب مسئلي جي سائيز، ان پٽ خاصيتن، ۽ دستياب وسيلن تي منحصر آهي. مثال طور، جيڪڏهن فهرست ننڍي ۽ غير ترتيب ڏنل آهي، ته پوءِ لڪير واري ڳولا بهترين انتخاب ٿي سگهي ٿي. جيڪڏهن فهرست وڏي ۽ ترتيب ڏنل آهي، ته بائنري ڳولا بهترين انتخاب ٿي سگهي ٿي. جيڪڏهن فهرست وڏي ۽ غير ترتيب ڏنل آهي، ته پوءِ هيش ٽيبل ڳولا بهترين انتخاب ٿي سگهي ٿي.
امرٽائيزڊ تجزيو آپريشن جي تسلسل تي سراسري وقت جو اندازو لڳائي ٿو.
-
مثال
: متحرڪ صفون مڪمل ٿيڻ تي گنجائش کي ٻيڻو ڪن ٿيون. جڏهن ته هڪ
ڌڪو ڏيڻ
آپريشن ٿي سگھي ٿو
او (ن)
وقت، معاف ڪيل قيمت باقي رهي ٿي
O(1)
.
الگورتھم جھڙا
مونٽي ڪارلو
۽
لاس ويگاس
ڪارڪردگي لاءِ بي ترتيبي استعمال ڪريو.
-
مثال
: ملر-رابن پرائمالٽي ٽيسٽ ۾ امڪاني ضمانتون آهن پر اهو تعيناتي طريقن کان تيز آهي.
ڪجھ مسئلا (مثال طور، بولين اطمينان) آهن اين پي-مڪمل ، مطلب ته ڪو به سڃاتل پولينوميل-وقت حل موجود ناهي. گهٽتائي ذريعي اين پي-مڪمليت ثابت ڪرڻ سان ڪمپيوٽيشنل سختي جي درجه بندي ۾ مدد ملندي آهي.
هڪ او (ن) ڪلسٽرنگ الگورٿم وڏي ڊيٽاسيٽس لاءِ هڪ رڪاوٽ بڻجي سگهي ٿو، جيڪو تقريبن طريقن جهڙوڪ ڪي ڊي ٽري ڏانهن منتقلي جو سبب بڻجي ٿو ( او (اين لاگ اين) ).
عوامي اهم نظام سختي تي ڀاڙين ٿا O(2) حملن جي مزاحمت لاءِ مسئلا (مثال طور، انٽيجر فيڪٽرائيزيشن).
ريئل ٽائيم رينڊرنگ انجن ترجيح ڏين ٿا O(1) 60+ FPS برقرار رکڻ لاءِ فزڪس سميوليشن لاءِ الگورتھم.
واپار جو معاملو آهي:
-
وقت بمقابله خلا
: هيش نقشا استعمال ڪريو (
O(1)
(lookups) ياداشت جي قيمت تي.
-
سادگي بمقابله بهتري
: داخل ڪرڻ جي ترتيب (
او (ن)
) ننڍن، تقريبن ترتيب ڏنل ڊيٽاسيٽس لاءِ ترجيحي ٿي سگهي ٿو.
ريڪرسيو الگورتھم لاءِ، ريڪرنس رليشنز ماڊل رن ٽائم. مثال طور، ضم ڪرڻ سان ورجاءُ جي قسم:
[ T(n) = 2T(n/2) + O(n) ] حل ڪري ٿو ته
او (اين لاگ اين)
ذريعي
ماسٽر ٿيوريم
.
تجرباتي جاچ نظرياتي تجزيي کي پورو ڪري ٿي. پروفائلنگ ٽولز (مثال طور، ويلگرائنڊ، پرف) حقيقي دنيا جي رڪاوٽن کي ظاهر ڪن ٿا.
پٿون
ڊيف لائينئر_سم (arr):
ڪُل = 0
نمبر لاءِ arr ۾:
ڪُل += نمبر
ڪُل واپسي
ڊيف quadratic_sum(arr):
ڪُل = 0
منهنجي لاءِ ارر ۾:
j لاءِ arr ۾:
ڪُل += i * j
ڪُل واپسي
جڏهن ته او (ن) مستقلن کي خلاصو ڪري ٿو، a ن100 الگورتھم شايد هڪ کان سست هجي ن0.01 عملي لاءِ الگورتھم ن .
هڪ او (اين لاگ اين) الگورتھم شايد خراب ڪارڪردگي ڏيکاري او (ن) لاءِ ن = 10 اوور هيڊ جي ڪري.
هڪ ياداشت ڪيل فبونڪي فنڪشن ( او (ن) space) وڏين ان پٽن تي ڪريش ٿي سگهي ٿو، هڪ ٻيهر ورجن جي برعڪس ( O(1) جاءِ).
هڪ خود متوازن BST ( او (لاگ ن) ڳولا) باقاعده BST کان وڌيڪ محفوظ آهي ( او (ن) بدترين صورت ۾) غير قابل اعتماد ڊيٽا لاءِ.
الگورٿم پيچيدگي جو تجزيو ڪمپاس آهي جيڪو ڊولپرز کي ڪمپيوٽيشنل ڪارڪردگي جي وسيع منظرنامي ذريعي رهنمائي ڪري ٿو. MTSC7196 شاگردن لاءِ، هن نظم ۾ مهارت حاصل ڪرڻ نظرياتي علم ۽ عملي مهارت کي هڪ ٻئي سان ڳنڍي ٿو. وقت ۽ جاءِ جي گهرجن کي الڳ ڪرڻ، غير علامتي حدن جو مقابلو ڪرڻ، ۽ حقيقي دنيا جي واپار کي نيويگيٽ ڪرڻ سان، ڊولپرز اهڙا نظام ٺاهي سگهن ٿا جيڪي خوبصورتي سان ماپ ڪن ۽ قابل اعتماد طريقي سان ڪم ڪن.
ڊيٽا تي ٻڌل جدت جي وضاحت ڪيل دور ۾، هڪ جي وچ ۾ فرق ڪرڻ جي صلاحيت او (اين لاگ اين) ۽ هڪ او (ن) حل صرف علمي نه آهي پر هڪ اسٽريٽجڪ ضروري آهي. جيئن توهان پنهنجي پڙهائي ۾ اڳتي وڌو، ياد رکو: پيچيدگي جو تجزيو صرف انگن ۽ علامتن بابت ناهي. اهو حساب جي دل جي ڌڙڪن کي سمجهڻ بابت آهي.
2019 کان وٺي، توهان جي زيور، چين، چين، زيورن ۾ پيدا ٿيو. اسان هڪ زيورات جو ادارا ڊزائن، پيداوار ۽ وڪرو ڪرڻ وارا آهن.
+86-19924726359/+86-13431083798
فرش 13، گوم سمارٽ شهر جو اولهه ٽاور، نمبر 33 رسين اسٽريٽ، هائيه ضلعي، گوانگ، چين.