loading

info@meetujewelry.com    +86-19924726359 / +86-13431083798

MTSC ئۈچۈن ئالگورىزىمنىڭ مۇرەككەپ پەرقىنى تەھلىل قىلىش7196

ئالگورىزىمنىڭ مۇرەككەپلىكىنى چۈشىنىش

ۋاقىت ۋ. بوشلۇق مۇرەككەپلىكى

ئالگورىزىمنىڭ مۇرەككەپلىكى ئاساسلىقى ئىككى مەنبەنى كۆرسىتىدۇ: ۋاقىت (ئىجرا مۇددىتى) ۋە بوشلۇق (ئىچكى ساقلىغۇچ ئىشلىتىش). ۋاقىت مۇرەككەپلىكى ئىجرا ۋاقتىنىڭ كىرگۈزۈش چوڭلۇقى بىلەن قانداق ئۆسىدىغانلىقىنى ئۆلچەيدۇ. n ) ، بوشلۇقنىڭ مۇرەككەپلىكى ئىچكى ساقلىغۇچنى باھالايدۇ. مەسىلەن:
- بىلەن ھېسابلاش ئۇسۇلى O (n) ۋاقىت مۇرەككەپلىكى كىرگۈزۈش چوڭلۇقى بىلەن تۈز.
- بىلەن ھېسابلاش ئۇسۇلى O(1) بوشلۇقنىڭ مۇرەككەپلىكى كىرگۈزۈش چوڭ-كىچىك بولۇشىدىن قەتئىينەزەر دائىملىق ئىچكى ساقلىغۇچ ئىشلىتىدۇ.

ھەر ئىككى ئۆلچەم ئىنتايىن مۇھىم. تېز ھېسابلاش ئۇسۇلى چوڭ سانلىق مەلۇمات ئامبىرىدىكى ئىچكى ساقلىغۇچنى خورىتىۋېتىشى مۇمكىن ، ئەمما ئەستە ساقلاش ئۈنۈمى ھېسابلاش ئۇسۇلى ئەمەلىي قوللىنىشچان پروگراممىلاردا بەك ئاستا بولۇشى مۇمكىن.

ئالگورىزىم لايىھىلەشتىكى ئەھمىيىتى

ئۈنۈم مۇمكىنلىكىنى بەلگىلەيدۇ. 10 مىليون بىلەن 10 مىليوننىڭ تىزىملىكىنى رەتلەشنى ئويلىشىپ كۆرۈڭ:
- A كۆپۈك تۈرى ( O (n) ) كىچىك سانلىق مەلۇمات سانلىق مەلۇماتلىرىغا يېتىشى مۇمكىن ، ئەمما چوڭ سانلىق مەلۇماتلارغا ماس كەلمەيدۇ.
- A بىرلەشتۈرۈش ( O (n log n) ) چوڭ سانلىق مەلۇمات ئامبىرىنى چىرايلىق بىر تەرەپ قىلىدۇ ، ئەمما قوشۇمچە ئىچكى ساقلىغۇچ تەلەپ قىلىدۇ.

مۇرەككەپ ئانالىز ئالگورىزىمنى سېلىشتۇرۇش ئۈچۈن قاتتىق تىل بىلەن تەمىنلەيدۇ ، قاتتىق دېتالغا ئائىت تەپسىلاتلارنى چىقىرىپ تاشلايدۇ. ئۇ ئاچقۇچىلارغا كېڭەيتىشچانلىقىنى ئالدىن پەرەز قىلىش ۋە ھالقىلىق سىستېمىلاردىكى توسالغۇلاردىن ساقلىنىش ھوقۇقىنى بېرىدۇ.


ئالامەتسىز ئەسكەرتىش: مۇرەككەپ تىل

ئالامەتسىز ئىزاھلار ئىقتىدارلارنىڭ چەكلەش ھەرىكىتىنى تەسۋىرلەپ ، مۇرەككەپلىك ئۈچۈن قىسقارتىپ تەمىنلەيدۇ. ئۈچ ئاساسلىق چۈشەنچە:

چوڭ O (O): يۇقىرى چەك (ئەڭ ناچار ئەھۋال)

Big O ئىزاھاتى ئالگورىزىمنىڭ ئەڭ چوڭ ۋاقىت ياكى بوشلۇقنى بەلگىلەيدۇ. مەسىلەن:
- O(1) : تۇراقلىق ۋاقىت (مەسىلەن ، سانلار گۇرپىسىنى كۆرسەتكۈچ بويىچە زىيارەت قىلىش).
- O (n) : سىزىقلىق ۋاقىت (مەسىلەن ، تىزىملىك ​​ئارقىلىق تەكرارلاش).
- O (n) : كۋادرات ۋاقىت (مەسىلەن ، كۆپۈكچە ئۇۋىسى ھالقىسى).

Big O ئەڭ كۆپ ئىشلىتىلىدىغان ئۆلچەم ، چۈنكى ئۇ ئىقتىدارنىڭ يۇقىرى چېكىگە كاپالەتلىك قىلىدۇ.

ئومېگا: تۆۋەن چەك (ئەڭ ياخشى ئەھۋال)

Omega تەلەپ قىلىنغان ئەڭ تۆۋەن ۋاقىتنى تەسۋىرلەيدۇ. مەسىلەن:
- سىزىقلىق ئىزدەش بار (1) ئەگەر نىشان بىرىنچى ئېلېمېنت بولسا.

ئۈمىدۋار بولسىمۇ ، ئەڭ ياخشى دېلولارنى تەھلىل قىلىش ئەڭ ناچار ئەھۋالنى پىلانلاش ئۈچۈن ئانچە ئاز ئەمەس.

تېتا: چىڭ باغلىنىش (ئوتتۇرىچە دېلو)

تېتا چوڭ O بىلەن Omega نى بىرلەشتۈرگەن بولۇپ ، ئېنىق ئالامەتسىز ھەرىكەتكە ۋەكىللىك قىلىدۇ. ئەگەر ئالگورىزىم ئەڭ ياخشى ۋە ناچار ئەھۋاللار ئوخشاش بولسا:
- (n log n) ھەر خىل ئوتتۇرىچە ۋە ئەڭ ناچار ئەھۋاللارنى بىرلەشتۈرۈشكە ماس كېلىدۇ.

بۇ ئىزاھلار ئېشىش سۈرئىتىنى ئاساس قىلىپ تۇراقلىق ۋە تۆۋەن دەرىجىلىك ئاتالغۇلارنى چىقىرىپ تاشلايدۇ. مەسىلەن ، 2n + 3n + 4 ئاددىيلاشتۇرىدۇ O (n) چۈنكى كۇئادرات ئاتالغۇ چوڭراق n .


كۆپ ئۇچرايدىغان مۇرەككەپ دەرسلەر

مۇرەككەپ دەرسلەرنى چۈشىنىش ئالگورىزىمنى كۆلەملەشتۈرۈش ئارقىلىق تۈرگە ئايرىشقا ياردەم بېرىدۇ. كۆپ قاتلامدىن ئەڭ تۆۋەن ئۈنۈمگە ئېرىشىدۇ:

O (1): دائىملىق ۋاقىت

ئىجرا ۋاقتى ياكى ئىچكى ساقلىغۇچ ئۆزگەرمەيدۇ n ئۆسىدۇ.
- مىسال : ئاچقۇچ ئارقىلىق hash جەدۋىلى قىممىتىنى زىيارەت قىلىش.

O (log n): لوگارىزىم ۋاقتى

ئىجرا ۋاقتى لوگارىزىم بىلەن ئۆسىدۇ n .
- مىسال : ئىككىلىك ئىزدەش ھەر بىر تەكرارلاش كىرگۈزۈش بوشلۇقىنى يېرىم قىلىدۇ.

O (n): سىزىقلىق ۋاقىت

ئىجرا ۋاقتى تارازىسى بىلەن ماس كېلىدۇ n .
- مىسال : تەرتىپسىز تىزىملىك ​​ئارقىلىق سىزىقلىق ئىزدەش.

O (n log n): سىزىقلىق ۋاقىت

بۆلۈش ۋە بويسۇندۇرۇش ھېسابلاش ئۇسۇلىدا كۆپ ئۇچرايدۇ.
- مىسال : رەتلەش ۋە دۆۋە تۈرلەرنى بىرلەشتۈرۈش.

O (n): Quadratic Time

ئۇۋىسى تەكرارلىنىش پارتىلاش خاراكتېرلىك ئۆسۈشنى كەلتۈرۈپ چىقىرىدۇ.
- مىسال : كۆپۈكلەشتۈرۈش ۋە تاللاش تۈرى.

O (2): يوشۇرۇن ۋاقىت

ئىجرا ۋاقتى ھەر بىر قوشۇمچە كىرگۈزۈش بىلەن بىر قاتلىنىدۇ.
- مىسال : قايتا-قايتا فىبوناچچى ھېسابلاش.

O (n!): ئەمەلىيەت ۋاقتى

ئىجازەتنى ئاساس قىلغان ھېسابلاش ئۇسۇلى.
- مىسال : ساياھەتچى ساتقۇچىلار مەسىلىسىنى رەھىمسىزلەرچە ھەل قىلىش.

پەرقى O (n log n) ۋە O (n) بولۇپ قالىدۇ n = 10 : ئالدىنقىسى مىللېس سېكۇنتتا ئىجرا قىلىشى مۇمكىن ، كېيىنكىسىگە بىر نەچچە كۈن ۋاقىت كېتىشى مۇمكىن.


دېلو ئانالىزى: ئەڭ ياخشى ، ئوتتۇرىچە ۋە ئەڭ ناچار ئەھۋاللار

ئالگورىزىم كىرگۈزۈش سەپلىمىسىگە ئاساسەن باشقىچە ئىشلەيدۇ. بارلىق ئەھۋاللارنى تەھلىل قىلىش پۇختا بولۇشقا كاپالەتلىك قىلىدۇ:

ئەڭ ياخشى ئەھۋال: ئەڭ ياخشى كىرگۈزۈش

  • مىسال : QuickSorts بۆلۈش باسقۇچى سانلار گۇرپىسىنى تەكشى بۆلۈپ ، مول ھوسۇل بېرىدۇ O (n log n) .

ئەڭ ناچار ئەھۋال: پاتولوگىيىلىك كىرگۈزۈش

  • مىسال : QuickSort تۆۋەنلەيدۇ O (n) ئەگەر pivot رەتلەنگەن سانلار گۇرپىسىدىكى ئەڭ كىچىك ئېلېمېنت بولسا.

ئوتتۇرىچە ئەھۋال: ئىختىيارى كىرگۈزۈش

  • مىسال : QuickSort ئوتتۇرىچە قىممەت O (n log n) تەرتىپلەنمىگەن سانلىق مەلۇمات ئۈچۈن.

ئەمەلىي تەسىرلەر

ساندان سوئاللىرىنى ئەلالاشتۇرغۇچى hash قوشۇش (ياكى قوشۇش) نى تاللىشى مۇمكىن O (n + m) ) and nested loop join ( O (nm) ) سانلىق مەلۇمات تارقىتىشنى ئاساس قىلىدۇ. ئەڭ ناچار ئەھۋالنى تەھلىل قىلىش بىخەتەرلىكنى تەنقىد قىلىدىغان سىستېمىلار (مەسىلەن ئاۋىئاتسىيە يۇمشاق دېتالى) ئۈچۈن ئىنتايىن مۇھىم ، بۇ يەردە مۆلچەرلىگىلى بولمايدۇ.


ئوخشاش مەسىلىنىڭ ئالگورىزىملىرىنى سېلىشتۇرۇش

ئوخشاش ئالگورىزىم ئارقىلىق ئوخشاش مەسىلىنى ھەل قىلغىلى بولىدۇ. مەسىلەن ، قىممەت تىزىملىكىدە نىشان قىممىتىنى ئىزدەش مەسىلىسى ئوخشىمىغان ھېسابلاش ئۇسۇلى ئارقىلىق ھەل بولىدۇ ، مەسىلەن سىزىقلىق ئىزدەش ، ئىككىلىك ئىزدەش ياكى hash جەدۋىلى ئىزدەش.

تۆۋەندىكى جەدۋەلدە بۇ ئالگورىزىملارنىڭ تىزىملىكتىكى نىشان قىممىتىنى ئىزدەش ۋاقتى ۋە بوشلۇق مۇرەككەپلىكى سېلىشتۇرۇلغان n قىممەت.

ئالگورىزىمنى تاللاش مەسىلىنىڭ چوڭ-كىچىكلىكى ، كىرگۈزۈش ئالاھىدىلىكى ۋە بار مەنبەلەرگە باغلىق. مەسىلەن ، تىزىملىك ​​كىچىك ھەم تەرتىپسىز بولسا ، سىزىقلىق ئىزدەش ئەڭ ياخشى تاللاش بولۇشى مۇمكىن. ئەگەر تىزىملىك ​​چوڭ ۋە رەتلەنگەن بولسا ، ئىككىلىك ئىزدەش ئەڭ ياخشى تاللاش بولۇشى مۇمكىن. ئەگەر تىزىملىك ​​چوڭ ۋە تەرتىپسىز بولسا ، hash جەدۋىلىنى ئىزدەش ئەڭ ياخشى تاللاش بولۇشى مۇمكىن.


مۇرەككەپ تەھلىلدىكى ئىلغار تېما

Amortized Analysis

ئامورتىزلانغان ئانالىز مەشغۇلات تەرتىپىنىڭ ئوتتۇرىچە ۋاقتى.
- مىسال : ھەرىكەتچان سانلار گۇرپىسى تولۇق بولغاندا قوش سىغىمچانلىقى. بىرلا ۋاقىتتا ئىتتىرىش مەشغۇلات ئېلىپ بېرىشى مۇمكىن O (n) ۋاقىت ، ئامورتىزاتسىيە تەننەرخى يەنىلا ساقلىنىدۇ O(1) .

ئېھتىماللىق ئانالىزى

ئالگورىزىمغا ئوخشاش مونتې كارلو ۋە Las Vegas ئۈنۈم ئۈچۈن تاسادىپىيلىق ئىشلىتىڭ.
- مىسال : مىللېر-رابىن ئىپتىدائىي سىنىقىنىڭ ئېھتىماللىق كاپالىتى بار ، ئەمما ئېنىقلاش ئۇسۇلىدىن تېز.

NP- تولۇقلاش ۋە ئازايتىش

بەزى مەسىلىلەر (مەسىلەن ، بولاننىڭ قانائەتچانلىقى) NP- تامام يەنى مەلۇم كۆپ قۇتۇپلۇق ۋاقىت ھەل قىلىش چارىسى مەۋجۇت ئەمەس. ئازايتىش ئارقىلىق NP- مۇكەممەللىكىنى ئىسپاتلاش ھېسابلاشنىڭ قاتتىقلىقىنى تۈرگە ئايرىشقا ياردەم بېرىدۇ.


مۇرەككەپلىك پەرقىنىڭ ئەمەلىي تەسىرى

چوڭ سانلىق مەلۇمات ۋە ماشىنا ئۆگىنىش

An O (n) توپلاشتۇرۇلغان ئالگورىزىم چوڭ سانلىق مەلۇمات سانلىق مەلۇماتلىرىنىڭ بوتۇلكىسىغا ئايلىنىپ ، kd دەرەخلىرىگە ئوخشاش تەخمىنىي ئۇسۇللارغا ئۆزگىرىشىنى كەلتۈرۈپ چىقىرىدۇ. O (n log n) ).

Cryptography

ئاممىۋى ئاچقۇچلۇق سىستېمىلارنىڭ قاتتىقلىقىغا تايىنىدۇ O(2) ھۇجۇملارغا قارشى تۇرۇشتىكى مەسىلىلەر (مەسىلەن ، پۈتۈن سان).

ئويۇن ئېچىش

ھەقىقىي ۋاقىتتىكى ماتورنى ئالدىنقى ئورۇنغا قويىدۇ O(1) فىزىكا تەقلىد قىلىش ئالگورىزىملىرى 60+ FPS نى ساقلاپ قالىدۇ.

توغرا ئالگورىزىمنى تاللاش

سودا-سېتىق مەسىلىسى:
- ۋاقىت ۋ. بوشلۇق : Hash خەرىتىسىنى ئىشلىتىڭ ( O(1) ئىزدەش).
- ئاددىيلىق ۋ. ئەلالاشتۇرۇش : قىستۇرۇش تۈرى ( O (n) ) كىچىك ، رەتلەنگەن سانلىق مەلۇمات ئامبىرىغا ماس كېلىشى مۇمكىن.


مۇرەككەپلىكنى تەھلىل قىلىدىغان قورال ۋە تېخنىكا

تەكرارلىنىش مۇناسىۋىتى

قايتا-قايتا ھېسابلاش ئۇسۇلى ئۈچۈن ، قايتا-قايتا مۇناسىۋەت ئەندىزىسىنىڭ ئىجرا ۋاقتى. مەسىلەن ، قايتا-قايتا بىرلەشتۈرۈش:
[T (n) = 2T (n / 2) + O (n)] ھەل قىلىدۇ O (n log n) ئارقىلىق ئۇستاز نەزەرىيىسى .

Benchmarking

تەجرىبە سىنىقى نەزەرىيەۋى تەھلىلنى تولۇقلايدۇ. ئارخىپ قوراللىرى (مەسىلەن ، Valgrind ، ئەتىر) ھەقىقىي دۇنيانىڭ كەمتۈكلۈكىنى ئاشكارىلايدۇ.

كودتىكى ئالامەتسىز تەھلىل

python


O (n) ۋاقىت مۇرەككەپلىكى

def linear_sum (arr):
total = 0
for num in arr:
total + = num
قايتىش ئومۇمىي


O (n) ۋاقىت مۇرەككەپلىكى

def quadratic_sum (arr):
total = 0
for i in arr:
for j in arr:
total + = i * j
قايتىش ئومۇمىي

كۆپ ئۇچرايدىغان ئازگال ۋە خاتا قاراش

تۇراقلىق ھالەت ۋە تۆۋەن دەرىجىلىك شەرتلەرگە سەل قاراش

ھالبۇكى O (n) ئابستراكتلارنى يىراقلاشتۇرىدۇ ، ئا n100 ھېسابلاش ئۇسۇلى a دىن ئاستا بولۇشى مۇمكىن n0.01 ئەمەلىي ھېسابلاش ئۇسۇلى n .

كىرگۈزۈش رازمېرىغا خاتا ھۆكۈم قىلىش

An O (n log n) ئالگورىزىمنىڭ ئىپادىسى ياخشى بولماسلىقى مۇمكىن O (n) for n = 10 سەۋەبىدىن.

بوشلۇقنىڭ مۇرەككەپلىكىگە سەل قاراش

ئەستە ساقلانغان Fibonacci ئىقتىدارى ( O (n) بوشلۇق) تەكرارلانغان نۇسخىسىغا ئوخشىمايدىغىنى چوڭ كىرگۈزگۈچلەردە سوقۇلۇشى مۇمكىن O(1) space).


ئەڭ ناچار دېلو ۋە ئوتتۇرىچە دېلو

ئۆز-ئۆزىنى تەڭپۇڭلاشتۇرۇش BST ( O (log n) ئىزدەش) ئادەتتىكى BST دىن بىخەتەر ( O (n) ئەڭ ناچار ئەھۋال) ئىشەنچسىز سانلىق مەلۇمات ئۈچۈن.


خۇلاسە

ئالگورىزىمنىڭ مۇرەككەپلىكىنى تەھلىل قىلىش كومپاس يېتەكلىگۈچىلەرنىڭ ھېسابلاش ئۈنۈمىنىڭ كەڭ مەنزىرىسى ئارقىلىق يېتەكلەيدۇ. MTSC7196 ئوقۇغۇچىلىرىغا نىسبەتەن ، بۇ پەننى ئىگىلەش نەزەرىيەۋى بىلىم ۋە ئەمەلىي تەجرىبىنى كۆۋرۈك قىلىدۇ. پروگرامما ئاچقۇچىلار ۋاقىت ۋە بوشلۇق تەلىپىنى پارچىلاش ، سىممېتتىك بولمىغان چەكنى سېلىشتۇرۇش ۋە رېئال سودا سودىسىدا مېڭىش ئارقىلىق ، پروگرامما ئاچقۇچىلار چىرايلىق ۋە ئىشەنچلىك مەشغۇلات قىلالايدىغان سىستېمىلارنى ياسىيالايدۇ.

سانلىق مەلۇمات ئارقىلىق يېڭىلىق يارىتىش ئارقىلىق ئېنىقلانغان دەۋردە ، پەرقلەندۈرۈش ئىقتىدارى O (n log n) and an O (n) ھەل قىلىش پەقەت ئىستراتېگىيىلىك مەجبۇرىيەت ئەمەس. تەتقىقاتىڭىزدا ئىلگىرىلەۋاتقان ۋاقتىڭىزدا ، ئېسىڭىزدە تۇتۇڭ: مۇرەككەپلىك ئانالىزى پەقەت سان ۋە بەلگىلەرگىلا مۇناسىۋەتلىك ئەمەس. ئۇنىڭ ھېسابلاشنىڭ يۈرەك سوقۇشىنى چۈشىنىش ھەققىدىكى.

بىز بىلەن ئالاقىلىشىڭ
تەۋسىيە قىلىنغان ماقالىلەر
Bloog
ھېچقانداق سانلىق مەلۇمات يوق

2019-يىلدىن باشلاپ, سىز گۇاڭجۇغا ئەگىشىپ, گۇاڭجۇ, جۇڭگو, ئۈنچە-مەرۋايىت ئىشلەپچىقىرىش بازىسىدا قۇرۇلايدىكەن. بىز ئۈنچە-ئاشكارە قۇرۇلۇش سىستېمىسى بىرلەشتۈرۈش, ئىشلەپچىقىرىش ۋە سېتىش.


  info@meetujewelry.com

  +86-19924726359/+86-13431083798

  13, گومېم ئەقلىي شەھەرسى, ياق. , گۇاڭخۇ رايونى, گۇاڭخۇ رايونى, گۇاڭجۇ رايونى, جۇڭگونىڭ گۇاڭجۇ رايونى.

Customer service
detect