Díríonn castacht an algartaim ar dhá acmhainn go príomha:
am
(fad an fhorghníomhaithe) agus
spás
(úsáid chuimhne). Cé go dtomhaiseann castacht ama conas a fhásann am rithe le méid ionchuir (
n
), déanann castacht spáis meastóireacht ar thomhaltas cuimhne. Mar shampla:
- Algartam le
O(n)
Scálann castacht ama go líneach le méid ionchuir.
- Algartam le
O(1)
Úsáideann castacht spáis cuimhne tairiseach beag beann ar mhéid ionchuir.
Tá an dá mhéadracht riachtanach. D’fhéadfadh algartam tapa cuimhne a ídiú ar shraitheanna sonraí móra, ach d’fhéadfadh algartam atá éifeachtúil ó thaobh cuimhne de a bheith rómhall d’fheidhmchláir fíor-ama.
Is é an éifeachtúlacht a chinneann indéantacht. Smaoinigh ar liosta de 10 mír a shórtáil i gcomparáid le 10 milliún:
- A
sórtáil mboilgeog
(
O(n)
) d'fhéadfadh sé a bheith leordhóthanach i gcás tacair sonraí beaga ach ní bheadh sé praiticiúil i gcás cinn mhóra.
- A
sórtáil chumasc
(
O(n log n)
) láimhseálann sé tacair sonraí níos mó go galánta ach teastaíonn cuimhne bhreise uaidh.
Soláthraíonn anailís chastachta teanga uilíoch chun halgartaim a chur i gcomparáid, ag baint sonraí crua-earraí-shonracha as an áireamh. Cuireann sé ar chumas forbróirí inscálaitheacht a thuar agus baic i gcórais ríthábhachtacha a sheachaint.
Déanann nótaíochtaí asimptóiteacha cur síos ar iompar teoranta feidhmeanna, ag tairiscint giorrúchán ar chastacht. Is iad na trí phríomhnótaíocht ná:
Sainmhíníonn nótaíocht Big O an t-am nó an spás uasta a thógfaidh algartam. Mar shampla:
-
O(1)
Am tairiseach (m.sh., rochtain a fháil ar eilimint eagar trí innéacs).
-
O(n)
Am líneach (m.sh., ag dul trí liosta arís agus arís eile).
-
O(n)
Am cearnachach (m.sh., lúba neadaithe i sórtáil mboilgeog).
Is é Big O an mhéadrach is coitianta a úsáidtear, toisc go ráthaíonn sé uasteorainneacha feidhmíochta.
Déanann Omega cur síos ar an am íosta a theastaíonn. Mar shampla:
- Tá cuardach líneach ann
(1)
más é an sprioc an chéad eilimint.
Cé go bhfuil anailís ar an gcás is fearr dóchasach, níl an oiread sin eolais ann maidir le pleanáil don chás is measa.
Comhcheanglaíonn Téite Big O agus Omega, rud a léiríonn an iompar asimptóiteach beacht. Más ionann na cásanna is fearr agus is measa i gcás halgartaim:
-
(n log n)
baineann sé le cineálacha cumasc de na cásanna meánacha agus is measa.
Déanann na nótaíochtaí seo tairiseacha agus téarmaí d'ord níos ísle a aibítreáil, ag díriú ar rátaí fáis. Mar shampla, 2n + 3n + 4 simpliú le O(n) toisc go bhfuil an téarma cearnach i réim i gcás mór n .
Cuidíonn tuiscint ar ranganna castachta le halgartaim a chatagóiriú de réir inscálaitheachta. Seo ordlathas ón gceann is éifeachtaí go dtí an ceann is lú éifeachtaí:
Fanann an t-am forghníomhaithe nó an chuimhne gan athrú de réir mar
n
fásann.
-
Sampla
Rochtain ar luach tábla haise de réir eochair.
Fásann an t-am rithe go logartamach le
n
.
-
Sampla
Déanann cuardach dénártha an spás ionchuir a leath le gach athrá.
Scálann an t-am rithe go comhréireach le
n
.
-
Sampla
Cuardach líneach trí liosta neamhshórtáilte.
Coitianta in halgartaim roinn-agus-ceasaigh.
-
Sampla
Cumaisc sórtáil agus sórtáil carn.
Bíonn fás pléascach mar thoradh ar athrá neadaithe.
-
Sampla
Sórtáil mboilgeog agus sórtáil roghnúcháin.
Dúblaíonn an t-am rithe le gach ionchur breise.
-
Sampla
Ríomh Fibonacci athchúrsach gan mheabhrúchán.
Algartaim bunaithe ar permutation.
-
Sampla
Ag réiteach fadhb an díoltóra taistil trí bhrúidiúlacht.
An difríocht idir O(n log n) agus O(n) éiríonn géar do n = 10 d'fhéadfadh an chéad cheann a fhorghníomhú i milleasoicindí, agus d'fhéadfadh sé laethanta a thógáil ar an dara ceann.
Feidhmíonn halgartaim ar bhealach difriúil bunaithe ar chumraíochtaí ionchuir. Cinntíonn anailís a dhéanamh ar gach cás go bhfuil sé láidir:
D’fhéadfadh uasmhéadaitheoir fiosrúcháin bunachar sonraí rogha a dhéanamh idir hash join ( O(n + m) ) agus lúb neadaithe a cheangal ( O(nm) ) bunaithe ar dháileadh sonraí. Tá anailís ar an gcás is measa ríthábhachtach i gcás córas atá ríthábhachtach ó thaobh sábháilteachta de (e.g., bogearraí eitlíochta), áit nach féidir glacadh le neamh-intuarthacht.
Is féidir an fhadhb chéanna a réiteach ag baint úsáide as halgartaim éagsúla. Mar shampla, is féidir an fhadhb a bhaineann le cuardach a dhéanamh ar luach sprice i liosta luachanna a réiteach trí úsáid a bhaint as halgartaim éagsúla, amhail cuardach líneach, cuardach dénártha, nó cuardach tábla haise.
Déanann an tábla thíos comparáid idir castachtaí ama agus spáis na n-algartam seo chun luach sprice a chuardach i liosta de n luachanna.
Braitheann rogha an algartaim ar mhéid na faidhbe, ar shaintréithe ionchuir agus ar na hacmhainní atá ar fáil. Mar shampla, má tá an liosta beag agus neamhshórtáilte, d'fhéadfadh cuardach líneach a bheith ar an rogha is fearr. Más liosta mór agus sórtáilte atá ann, b’fhéidir gurb é cuardach dénártha an rogha is fearr. Más liosta mór agus neamhshórtáilte atá ann, b’fhéidir gurb é cuardach tábla haise an rogha is fearr.
Déanann anailís amúchta meán-am a ríomh thar shraith oibríochtaí.
-
Sampla
Déanann eagair dhinimiciúla a gcumas a dhúbailt nuair a bhíonn siad lán. Cé go bhfuil duine aonair
brúigh
d’fhéadfadh oibríocht a bheith i gceist
O(n)
am, fanann an costas amúchta
O(1)
.
Algartaim cosúil le
Monte Carlo
agus
Las Vegas
bain úsáid as randamacht ar mhaithe le héifeachtúlacht.
-
Sampla
Tá ráthaíochtaí dóchúlachta ag tástáil phríomhachta Miller-Rabin ach tá sí níos tapúla ná modhanna cinntitheacha.
Tá roinnt fadhbanna (m.sh., sástacht Boole) ann NP-iomlán , rud a chiallaíonn nach bhfuil aon réiteach polatéarmach-ama ar eolas ann. Cuidíonn cruthú iomláine NP trí laghduithe le cruas ríomhaireachtúil a aicmiú.
An O(n) D’fhéadfadh algartam braislithe a bheith ina bhac ar shraitheanna sonraí ollmhóra, rud a spreagfadh aistrithe chuig modhanna garbha cosúil le crainn kd ( O(n log n) ).
Braitheann córais eochrach phoiblí ar chruas O(2) fadhbanna (m.sh., fachtóiriú slánuimhir) chun ionsaithe a sheasamh.
Tugann innill rindreála fíor-ama tús áite O(1) halgartaim le haghaidh insamhaltaí fisice chun 60+ FPS a choinneáil.
Tá tábhacht le comhbhabhtálacha:
-
Am vs. Spás
Úsáid léarscáileanna haise (
O(1)
cuardaigh) ar chostas na cuimhne.
-
Simplíocht vs. Optamacht
Sórtáil ionchuir (
O(n)
) b’fhéidir gur fearr é i gcás tacair sonraí beaga atá beagnach sórtáilte.
I gcás halgartaim athchúrsacha, samhail caidrimh athfhillteacha am rithe. Mar shampla, sórtálann cumasc athfhillteachas:
[T(n) = 2T(n/2) + O(n)] réitíonn sé go
O(n log n)
tríd an
Máistir-Teoirim
.
Comhlánaíonn tástáil eimpíreach anailís theoiriciúil. Nochtann uirlisí próifílithe (e.g., Valgrind, perf) constaicí sa saol réadúil.
píotóin
def líneach_suim(arr):
iomlán = 0
le haghaidh uimh. san eagrán:
iomlán += uimh
iomlán an toraidh
suim_chearnach_def(arr):
iomlán = 0
domsa i mbun oibre:
le haghaidh j in arr:
iomlán += i * j
iomlán an toraidh
Cé go O(n) achoimríonn tairiseacha, a 100n d’fhéadfadh an algartam a bheith níos moille ná a 0.01n algartam le haghaidh praiticiúil n .
An O(n log n) d’fhéadfadh an algartam feidhmiú faoi bhun a mhéid O(n) do n = 10 mar gheall ar fhorchostais.
Feidhm Fibonacci atá cuimhneamh air ( O(n) spás) d’fhéadfadh tuairteáil ar ionchuir mhóra, murab ionann agus leagan athchleachtach ( O(1) spás).
BST féinchothromúcháin ( O(log n) cuardach) níos sábháilte ná BST rialta ( O(n) (an cás is measa) le haghaidh sonraí neamhiontaofa.
Is í anailís chastachta algartam an compás a threoraíonn forbróirí tríd an tírdhreach fairsing d'éifeachtúlacht ríomhaireachtúil. I gcás mic léinn MTSC7196, is nasc é an nasc idir eolas teoiriciúil agus saineolas praiticiúil chun máistreacht a dhéanamh ar an disciplín seo. Trí riachtanais ama agus spáis a dhíchóimeáil, teorainneacha asimptotacha a chur i gcomparáid, agus nascleanúint a dhéanamh ar chomhbhabhtálacha sa saol réadúil, is féidir le forbróirí córais a chruthú a scálaíonn go galánta agus a fheidhmíonn go hiontaofa.
I ré atá sainmhínithe ag nuálaíocht atá bunaithe ar shonraí, is é an cumas idirdhealú a dhéanamh idir O(n log n) agus O(n) Ní hamháin go bhfuil an réiteach acadúil, is riachtanas straitéiseach é. De réir mar a théann tú ar aghaidh trí do chuid staidéir, cuimhnigh: ní hamháin go bhfuil anailís chastachta faoi uimhreacha agus siombailí. Baineann sé le croí na ríomhaireachta féin a thuiscint.
Ó 2019 i leith, bunaíodh Meet U Jewelry i Guangzhou, an tSín, bonn déantúsaíochta jewelry. Is fiontar jewelry muid a chomhtháthaíonn dearadh, táirgeadh agus díol.
+86-19924726359/+86-13431083798
Urlár 13, Túr Thiar Gome Smart City, Uimh. 33 Sráid Juxin, Ceantar Haizhu, Guangzhou, an tSín.