Ihe mgbagwoju anya algọridim na-eleba anya na akụrụngwa abụọ:
oge
(oge igbu oge) na
oghere
(Ojiji ebe nchekwa). Ọ bụ ezie na mgbagwoju anya oge na-atụ ka otu oge ọsọ na-esi eto site na ntinye ntinye (
n
), mgbagwoju anya oghere na-enyocha oriri ebe nchekwa. Ọmụmaatụ:
- Algọridim na ya
O(n)
oge mgbagwoju anya akpịrịkpa n'ahịrị na nha ntinye.
- Algọridim na ya
O(1)
mgbagwoju anya oghere na-eji ebe nchekwa oge niile n'agbanyeghị nha ntinye.
Metiriks abụọ a dị mkpa. Algọridim ngwa ngwa nwere ike ikpochapụ ebe nchekwa na nnukwu dataset, ebe algọridim na-arụ ọrụ nke ọma nwere ike ịdị ngwa ngwa maka ngwa ngwa.
Ịrụ ọrụ nke ọma na-ekpebi ike. Tụlee ịhazi ndepụta nke ihe iri na nde iri:
- A
ụdị afụ
(
O(n)
) nwere ike zuru ezu maka obere dataset mana ọ ga-abụ ihe na-adịghị mma maka ndị buru ibu.
- A
jikota ụdị
(
O(n log n)
) na-ejikwa ihe ndekọ data buru ibu nke ọma mana ọ chọrọ ebe nchekwa ọzọ.
Nyocha mgbagwoju anya na-enye asụsụ zuru ụwa ọnụ iji tụnyere algọridim, na-ewepụ nkọwa ngwaike akọwapụtara. Ọ na-enye ndị mmepe ike ịkọ scalability ma zere mkpọmkpọ na sistemu dị oke egwu.
Nkọwa asymptotic na-akọwa njedebe omume nke ọrụ, na-enye obere aka maka mgbagwoju anya. Ihe akara atọ bụ isi bụ:
Big O notation na-akọwa oge kachasị ma ọ bụ ohere algọridim ga-ewe. Dị ka ọmụmaatụ:
-
O(1)
: Oge na-adịgide adịgide (dịka ọmụmaatụ, ịnweta mmemme nhazi site na ndeksi).
-
O(n)
: Oge ahịrị ahịrị (dịka ọmụmaatụ, ikwugharị site na ndepụta).
-
O(n)
: Oge nkeji anọ (dịka ọmụmaatụ, loops akwụ na ụdị afụ).
Big O bụ metrik a na-ejikarị eme ihe, ebe ọ na-ekwe nkwa ịrụ ọrụ n'uko ụlọ.
Omega na-akọwa oge kacha nta achọrọ. Ọmụmaatụ:
- A linear search nwere
(1)
ọ bụrụ na ebumnuche bụ ihe mbụ.
Ọ bụ ezie na a na-enwe nchekwube, nyocha nke kachasị mma bụ obere ihe ọmụma maka atụmatụ kachasị njọ.
Theta na-ejikọta Big O na Omega, na-anọchite anya omume asymptotic kpọmkwem. Ọ bụrụ na algọridim kacha mma na nke kacha njọ bụ otu:
-
(n log n)
na-emetụta nchikota ụdịdị nkezi na nke kacha njọ.
Ihe ndetu ndị a na-ewepụ ihe ndị na-agbanwe agbanwe na usoro dị ala, na-elekwasị anya na ọnụego uto. Dị ka ọmụmaatụ, 2n + 3n + 4 na-eme ka ọ dị mfe O(n) n'ihi na okwu quadratic na-achị maka nnukwu n .
Ịghọta klaasị mgbagwoju anya na-enyere aka ịhazi algọridim site na scalability. Nke a bụ ọkwa ọkwa site na nke kachasị ruo na nke kacha nta:
Oge mmebe ma ọ bụ ebe nchekwa anaghị agbanwe agbanwe dịka
n
na-eto.
-
Ọmụmaatụ
: Nweta uru tebụl hash site na igodo.
Oge ojiri gaa na-eto logarithmically na
n
.
-
Ọmụmaatụ
: Ọchịchọ ọnụọgụ abụọ na-ebelata ohere ntinye ọ bụla ugboro ugboro.
Oge ojiri gaa na nha nha nha ya na
n
.
-
Ọmụmaatụ
: Achọ Linear site na ndepụta anaghị ahazi.
A na-ahụkarị na algọridim nkewa-na-emeri.
-
Ọmụmaatụ
: Jikọọ ụdị na ikpo ụdị.
Nkwusa akwụghị ụgwọ na-eduga na uto mgbawa.
-
Ọmụmaatụ
Ụdị afụ na ụdị nhọrọ.
Oge ịgba ọsọ na-eji ntinye ọ bụla agbakwunyere okpukpu abụọ.
-
Ọmụmaatụ
: Mgbakọ Fibonacci recursive na-enweghị ncheta.
Algọridim dabere na mmetọ.
-
Ọmụmaatụ
: Na-edozi nsogbu onye na-ere ahịa na-eme njem site na ike ike.
Ihe dị iche n'etiti O(n log n) na O(n) na-awụ akpata oyi n'ahụ n = 10 : nke mbụ nwere ike ime na milliseconds, ebe nke ikpeazụ nwere ike were ụbọchị.
Algorithms na-arụ ọrụ dị iche iche dabere na nhazi ntinye. Nyochaa okwu niile na-eme ka o sie ike:
Ihe njikarịcha ajụjụ nchekwa data nwere ike ịhọrọ n'etiti njikọ hash ( O(n + m) ) na njikọ aka akwụghị ụgwọ ( O(nm) ) dabere na nkesa data. Nyocha kachasị njọ dị oke mkpa maka sistemu nchekwa dị oke egwu (dịka ọmụmaatụ, sọftụ ụgbọ elu), ebe enweghị amụma amụma.
Enwere ike idozi otu nsogbu ahụ site na iji algọridim dị iche iche. Dịka ọmụmaatụ, enwere ike idozi nsogbu nke ịchọ uru ebumnuche na ndepụta nke ụkpụrụ site na iji algọridim dị iche iche, dị ka ọchụchọ linear, ọchụchọ ọnụọgụ abụọ, ma ọ bụ nchọ tebụl hash.
Tebụlụ dị n'okpuru na-atụnyere mgbagwoju anya oge na oghere nke algọridim ndị a maka ịchọ uru ebumnuche na ndepụta nke n ụkpụrụ.
Nhọrọ nke algọridim dabere na nha nsogbu, njirimara ntinye, na akụrụngwa dịnụ. Dịka ọmụmaatụ, ọ bụrụ na ndepụta ahụ dị ntakịrị na enweghị nhazi, ọchụchọ linear nwere ike ịbụ nhọrọ kacha mma. Ọ bụrụ na ndepụta ahụ buru ibu ma hazie ya, ọchụchọ ọnụọgụ abụọ nwere ike ịbụ nhọrọ kacha mma. Ọ bụrụ na ndepụta ahụ buru ibu na enweghị nhazi, ọchụchọ tebụl hash nwere ike ịbụ nhọrọ kacha mma.
Nyocha amortized na-ewe oge karịa usoro ọrụ.
-
Ọmụmaatụ
: Arrays dị ike nwere ike okpukpu abụọ mgbe o juru. Mgbe otu
Kwaa
ọrụ nwere ike were
O(n)
oge, ego amortized na-anọgide
O(1)
.
Algorithms dị ka
Monte Carlo
na
Las Vegas
jiri randomness maka arụmọrụ.
-
Ọmụmaatụ
: Miller-Rabin primality test nwere ihe ga-ekwe omume mana ọ na-adị ngwa karịa ụzọ deterministic.
Nsogbu ụfọdụ (dịka ọmụmaatụ afọ afọ Boolean) bụ NP-zuru oke , nke pụtara na ọ nweghị ihe ngwọta nke oge polynomial maara dị. Igosipụta NP-zuru oke site na mbelata na-enyere aka ịhazi ike mgbako.
A O(n) nchịkọta algọridim nwere ike ịghọ ihe mgbochi maka nnukwu datasets, na-akpalite mgbanwe na usoro dị ka osisi kd. O(n log n) ).
Sistemụ igodo ọha na-adabere na ike nke O(2) nsogbu (dịka ọmụmaatụ, mmepụta integer) iguzogide ọgụ.
Ngwa ndị na-enye ezigbo oge na-ebute ụzọ O(1) algọridim maka ịme anwansị physics iji kwado 60+ FPS.
Azụmahịa-offs dị mkpa:
-
Oge vs. Oghere
: Jiri hash map (
O(1)
lookups) na ọnụ ahịa ebe nchekwa.
-
Ịdị mfe vs. Nke kacha mma
: Ụdị ntinye (
O(n)
) nwere ike ịka mma maka obere datasets ọ fọrọ nke nta ka ọ hazie.
Maka algọridim ndị na-emegharị emegharị, ihe nlere mmekọrịta nlọghachi azụ oge. Dịka ọmụmaatụ, jikọta ụdị nlọghachi azụ:
[T(n) = 2T(n/2)+O(n)] kpebiri na
O(n log n)
site na
Master Theorem
.
Nnwale ihe omimi na-emeju nyocha usoro ọmụmụ. Ngwá ọrụ profaịlụ (dịka, Valgrind, perf) na-ekpughe ihe mgbanaka n'ezie.
Python
def linear_sum(arr):
ngụkọta = 0
maka num na arr:
mkpokọta += ọnụọgụ
nloghachi mkpokọta
def quadratic_sum(arr):
ngụkọta = 0
maka m na arr:
maka j na arr:
mkpokọta += i * j
nloghachi mkpokọta
Mgbe O(n) na-ewepụ ihe na-agbanwe agbanwe, a 100n algọridim nwere ike ịdị nwayọọ karịa a 0.01n algọridim maka bara uru n .
A O(n log n) algọridim nwere ike na-arụ ọrụ nke ọma O(n) maka n = 10 n'ihi oke ibu.
Ọrụ Fibonacci echekwara ( O(n) oghere) nwere ike ịdaba na nnukwu ntinye, n'adịghị ka ụdị ugboro ugboro ( O(1) oghere).
BST na-edozi onwe ya ( O(log n) search) dị nchebe karịa BST oge niile ( O(n) kasị njọ) maka data enweghị ntụkwasị obi.
Nyocha mgbagwoju anya algọridim bụ kompas na-eduzi ndị mmepe site na nnukwu mbara ala nke arụmọrụ mgbakọ na mwepụ. Maka ụmụ akwụkwọ MTSC7196, ịmụta ịdọ aka ná ntị a na-ejikọta ihe ọmụma usoro ihe ọmụma na nka bara uru. Site n'ịkọwa oge na oghere chọrọ, atụnyere oke asymptotic, na ịnyagharị ahịa ahịa nke ụwa n'ezie, ndị mmepe nwere ike ịrụpụta sistemu na-eto nke ọma ma rụọ ọrụ nke ọma.
N'ime oge akọwara site na ihe ọhụrụ na-akpata data, ikike ịmata n'etiti a O(n log n) na ihe O(n) Ngwọta abụghị naanị agụmakwụkwọ bụ ihe dị mkpa dị mkpa. Ka ị na-aga n'ihu na ọmụmụ ihe gị, cheta: nyocha mgbagwoju anya abụghị naanị ọnụọgụ na akara. Ọ gbasara ịghọta ụda obi nke mgbakọ n'onwe ya.
Kemgbe afọ 2019, zutere gị ọla na Guangzhou, China, na-emepụta ọla. Anyị bụ ihe eji achọta ọla, mmepụta na ire.
+86-19924726359/+86-13431083798
Ala nke 13, West Tower nke Goidist City, Mba. 33 Juxin Street, Haizhu, Guangzhou, China.