|
|
| jiě tí fāng 'àn de zhǔn què hé wán zhěng de miáo shù。 shì yī gè yòu qióng de dòng zuò bù zhòu xù liè, zhǐ yòu yī gè chū shǐ tài, měi gè dòng zuò zhǐ yòu yī gè hòu jì dòng zuò, yī bù yī bù dì zhí dào xù liè jié shù。 shì jiě tí cóng kāi shǐ dào jié shù de dòng zuò quán guò chéng。 |
|
| jì suàn fāng fǎ |
|
| nǐ de suàn fǎ zuì jiǎn dān |
|
| suàn shù de jiù chēng。 qīng zhāo lián《 xiào tíng zá lù · dài xué shì》: “ gōng shàn tiān wén、 suàn fǎ , yǔ nán huái rén jié lùn, huái rén wéi zhī qū。 ” qīng mǎ jiàn zhōng《 nǐ shè fān yì shū yuàn yì》:“ yòu suàn fǎ 、 jǐ hé、 bā xiàn、 zhòng xué、 rè、 guāng、 shēng、 diàn, yǔ fū fēi、 qián、 dòng、 zhí、 jīn、 shí zhī xué, xìng lǐ gé zhì zhī shū, jiē zé qí yóu yào 'ér kě zī tǎo lùn zhě, liè wéi zhú rì kè chéng。” |
|
| jì suàn de fāng fǎ。《 běi shǐ · gāo yǔn chuán》:“ yǔn suǒ zhì shī fù yǒng sòng zhēn lùn biǎo zàn lěi …… fán bǎi yú piān, yóu míng suàn fǎ , wéi《 suàn shù》 sān juàn。” qīng yuán méi《 suí yuán shī huà》 juàn yī:“ méi dìng jiǔ xiān shēng yǐ suàn fǎ 、《 yì》 lǐ shòu zhī shèng zǔ。” qīng wáng yìng kuí《 liǔ nán suí bǐ》 juàn 'èr:“ jīn rén shì shì bù rú gǔ rén。 ér yòu 'èr shì què shèng zhī, lì fǎ zhī mì yě, suàn fǎ zhī qiǎo yě。” |
|
suàn fǎ shì zhǐ wán chéng yī gè rèn wù zhǔn què 'ér wán zhěng de miáo shù。 yě jiù shì shuō gěi dìng chū shǐ zhuàng tài huò shū rù shù jù, jīng guò jì suàn jī chéng xù de yòu xiàn cì yùn suàn, néng gòu dé chū suǒ yào qiú huò qī wàng de zhōng zhǐ zhuàng tài huò shū chū shù jù。
suàn fǎ cháng cháng hán yòu chóngfù de bù zhòu hé yī xiē bǐ jiào huò luó ji pàn duàn。 rú guǒ yī gè suàn fǎ yòu quē xiàn, huò bù shì hé yú mǒu gè wèn tí, zhí xíng zhè gè suàn fǎ jiāng bù huì jiě jué zhè gè wèn tí。 bù tóng de suàn fǎ kě néng yòng bù tóng de shí jiān、 kōng jiān huò xiàolǜ lái wán chéng tóng yàng de rèn wù。 yī gè suàn fǎ de yōu liè kě yǐ yòng kōng jiān fù zá dù yǔ shí jiān fù zá dù lái héng liàng。 |
|
| “ suàn fǎ ” de zhōng wén míng chēng chū zì zhōu bì suàn jīng; ér yīng wén míng chēng algorithm lái zì yú 9 shì jì bō sī shù xué jiā bǐ 'ā lè · huò wǎ lǐ sōng de míng zì al-khwarizmi, yīn wéi bǐ 'ā lè · huò wǎ lǐ sōng zài shù xué shàng tí chū liǎo suàn fǎ zhè gè gài niàn。“ suàn fǎ ” yuán wéi "algorism", yì sī shì 'ā lā bó shù zì de yùn suàn fǎ zé, zài 18 shì jì yǎn biàn wéi "algorithm"。 ōu jǐ lǐ dé suàn fǎ bèi rén men rèn wéi shì shǐ shàng dì yī gè suàn fǎ 。 dì yī cì biān xiě chéng xù shì adabyron yú 1842 nián wéi bā bèi qí fēn xī jī biān xiě qiú jiě jiě bó nǔ lì fāng chéng de chéng xù, yīn cǐ adabyron bèi dà duō shù rén rèn wéi shì shì jiè shàng dì yī wèi chéng xù yuán。 yīn wéi chá 'ěr sī · bā bèi qí (charlesbabbage) wèi néng wán chéng tā de bā bèi qí fēn xī jī, zhè gè suàn fǎ wèi néng zài bā bèi qí fēn xī jī shàng zhí xíng。 yīn wéi "well-definedprocedure" quē shǎo shù xué shàng jīng què de dìng yì, 19 shì jì hé 20 shì jì zǎo qī de shù xué jiā、 luó ji xué jiā zài dìng yì suàn fǎ shàng chū xiàn liǎo kùn nán。 20 shì jì de yīng guó shù xué jiā tú líng tí chū liǎo zhù míng de tú líng lùn tí, bìng tí chū yī zhǒng jiǎ xiǎng de jì suàn jī de chōu xiàng mó xíng, zhè gè mó xíng bèi chēng wéi tú líng jī。 tú líng jī de chū xiàn jiě jué liǎo suàn fǎ dìng yì de nán tí, tú líng de sī xiǎng duì suàn fǎ de fā zhǎn qǐ dào liǎo zhòng yào de zuò yòng。 |
|
shū rù: yī gè suàn fǎ bì xū yòu líng gè huò duō gè shū rù liàng。
shū chū: yī gè suàn fǎ yīngyǒu yī gè huò duō gè shū chū liàng, shū chū liàng shì suàn fǎ jì suàn de jiēguǒ。
què dìng xìng: suàn fǎ de miáo shù bì xū wú qí yì, yǐ bǎo zhèng suàn fǎ de zhí xíng jiēguǒ shì què dìng de。
yòu qióng xìng: suàn fǎ bì xū zài yòu xiàn bù zhòu nèi shí xiàn。 zhù: cǐ chù“ yòu xiàn” bù tóng yú shù xué gài niàn de“ yòu xiàn”, tiān wén shù zì bān de yòu xiàn duì yú shí jì wèn tí bìng wú yì yì。
yòu xiào xìng: yòu chēng kě xíng xìng。 néng gòu shí xiàn, suàn fǎ zhōng miáo shù de cāo zuò dōushì kě yǐ tōng guò yǐ jīng shí xiàn de jī běn yùn suàn zhí xíng yòu xiàn cì lái shí xiàn。 |
|
| suàn fǎ shì jì suàn jī chǔlǐ xìn xī de běn zhì, yīn wéi jì suàn jī chéng xù běn zhì shàng shì yī gè suàn fǎ lái gào sù jì suàn jī què qiē de bù zhòu lái zhí xíng yī gè zhǐ dìng de rèn wù, rú jì suàn zhí gōng de xīn shuǐ huò dǎ yìn xué shēng de chéng jì dān。 yī bān dì, dāng suàn fǎ zài chù lǐ xìn xī shí, huì cóng shū rù shè bèi huò shù jù de cún chǔ dì zhǐ dú qǔ shù jù, bǎ jiēguǒ xiě rù shū chū shè bèi huò mǒu gè cún chǔ dì zhǐ gōng yǐ hòu zài diào yòng。 |
|
suàn fǎ de shí jiān fù zá dù
suàn fǎ de shí jiān fù zá dù shì zhǐ suàn fǎ xū yào xiāo hào de shí jiān zī yuán。 yī bān lái shuō, jì suàn jī suàn fǎ shì wèn tí guī mó n de hán shù f(n), suàn fǎ de shí jiān fù zá dù yě yīn cǐ jì zuò
yīn cǐ, wèn tí de guī mó n yuè dà, suàn fǎ zhí xíng de shí jiān de zēngchánglǜ yǔ f(n) de zēngchánglǜ zhèng xiāng guān, chēng zuò jiàn jìn shí jiān fù zá dù( asymptotictimecomplexity)。
suàn fǎ de kōng jiān fù zá dù
suàn fǎ de kōng jiān fù zá dù shì zhǐ suàn fǎ xū yào xiāo hào de kōng jiān zī yuán。 qí jì suàn hé biǎo shì fāng fǎ yǔ shí jiān fù zá dù lèi sì, yī bān dū yòng fù zá dù de jiàn jìn xìng lái biǎo shì。 tóng shí jiān fù zá dù xiāng bǐ, kōng jiān fù zá dù de fēn xī yào jiǎn dān dé duō。
fēi què dìng xìng duō xiàng shì shí jiān (np)
suàn fǎ de shí xiàn
suàn fǎ bù dān dān kě yǐ yòng jì suàn jī chéng xù lái shí xiàn, yě kě yǐ zài rén gōng shén jīng wǎng luò、 diàn lù huò zhě jī xiè shè bèi shàng shí xiàn。
lì zǐ yī
zhè shì suàn fǎ de yī gè jiǎn dān de lì zǐ。
wǒ men yòu yī chuàn suí jī shù liè。 wǒ men de mù de shì zhǎo dào zhè gè shù liè zhōng zuì dà de shù。 rú guǒ jiāng shù liè zhōng de měi yī gè shù zì kàn chéng shì yī kē dòu zǐ de dà xiǎo , kě yǐ jiāng xià miàn de suàn fǎ xíng xiàng dì chēng wéi“ jiǎn dòu zǐ”:
shǒu xiān jiāng dì yī kē dòu zǐ fàng rù kǒu dài zhōng。
cóng dì 'èr kē dòu zǐ kāi shǐ jiǎn chá, zhí dào zuì hòu yī kē dòu zǐ。 rú guǒ zhèng zài jiǎn chá de dòu zǐ bǐ kǒu dài zhōng de hái dà, zé jiāng tā jiǎn qǐ fàng rù kǒu dài zhōng, tóng shí diū diào yuán xiān kǒu dài zhōng de dòu zǐ。
zuì hòu kǒu dài zhōng de dòu zǐ jiù shì suǒ yòu de dòu zǐ zhōng zuì dà de yī kē。
xià miàn shì yī gè xíng shì suàn fǎ , yòng jìn sì yú biān chéng yǔ yán de wěi dài mǎ biǎo shì
gěi dìng: yī gè shù liè“ list", yǐ jí shù liè de cháng dù "length(list)"
largest=list
forcounter=2tolength(list):
iflist[counter]>largest:
largest=list[counter]
printlargest
fú hào shuō míng :
= yòng yú biǎo shì fù zhí。 jí: yòu biān de zhí bèi fù yú gěi zuǒ biān de biàn liàng。
list[counter] yòng yú biǎo shì shù liè zhōng de dì counter xiàng。 lì rú: rú guǒ counter de zhí shì 5, nà me list[counter] biǎo shì shù liè zhōng de dì 5 xiàng。
<= yòng yú biǎo shì“ xiǎo yú huò děng yú”。
lì zǐ 'èr
qiú liǎng gè zì rán shù de zuì dà gōng yuē shù shè liǎng gè biàn liàng m hé n
rú guǒ m<n, zé jiāo huàn m hé n
m bèi n chú, dé dào yú shù r
pàn duàn r = 0, zhèng què zé n jí wéi“ zuì dà gōng yuē shù”, fǒu zé xià yī bù
jiāng n fù zhí gěi m, jiāng r fù zhí gěi n, zhòng zuò dì yī bù。
yòng“ basic dài mǎ” biǎo shì --
ifm<nthenswapm,n
dowhiler<>0
r=mmodn
m=n
n=r
loop
printn
suàn fǎ shè jì hé fēn xī de jī běn fāng fǎ
fēn zhì fǎ
dòng tài guī huá
tān xīn fǎ( yì zuò tāo tiè fǎ)
suàn fǎ de sān zhǒng jī běn jié gòu de dìng yì
shùn xù jié gòu: shùn xù jié gòu shì zuì jiǎn dān、 zuì cháng yòng de suàn fǎ jié gòu, yǔ jù yǔ yǔ jù zhī jiān, kuàng yǔ kuàng zhī jiān 'àn cóng shàng dào xià de shùn xù jìn xíng。
xuǎn zé jié gòu: shì xiān gēn jù tiáo jiàn zuò chū pàn duàn, zài jué dìng zhí xíng nǎ yī zhǒng cāo zuò de suàn fǎ jié gòu, tā bì xū bāo hán pàn duàn kuàng。 dāng tiáo jiàn p chéng lì( huò chēng wéi zhēn) shí zhí xíng a, fǒu zé zhí xíng b, bù kě néng liǎng zhě tóng shí zhí xíng, dàn a huò b liǎng gè kuàng zhōng kě yǐ yòu yī gè shì kōng de, jí bù zhí xíng rèn hé cāo zuò .
xún huán jié gòu: zài yī xiē suàn fǎ zhōng, jīng cháng huì chū xiàn cóng mǒu chù kāi shǐ, àn zhào yī dìng tiáo jiàn, fǎn fù zhí xíng mǒu yī chǔlǐ bù zhòu de qíng kuàng, zhè jiù shì xún huán jié gòu, fǎn fù zhí xíng de chǔlǐ bù zhòu wéi xún huán tǐ, tā kě yǐ xì fēn wéi liǎng lèi: zhí dào xíng xún huán jié gòu、 dāng xíng xún huán jié gòu.
suàn fǎ de fēn lèi
jī běn suàn fǎ
méi jǔ
sōu suǒ
shēn dù yōu xiān sōu suǒ
guǎng dù yōu xiān sōu suǒ
qǐ fā shì sōu suǒ
yí chuán suàn fǎ
shù jù jié gòu de suàn fǎ
shù lùn yǔ dài shù suàn fǎ
jì suàn jǐ hé de suàn fǎ
tū bāo suàn fǎ
tú lùn de suàn fǎ
hā fū màn biān mǎ
shù de biàn lì
zuì duǎn lù jìng suàn fǎ
zuì xiǎo shēng chéng shù suàn fǎ
zuì xiǎo shù xíng tú
wǎng luò liú suàn fǎ
pǐ pèi suàn fǎ
dòng tài guī huá
qí tā
shù zhí fēn xī
jiā mì suàn fǎ
pái xù suàn fǎ
jiǎn suǒ suàn fǎ
suí jī huà suàn fǎ
guān yú bìng xíng suàn fǎ , qǐng cān yuè bìng xíng jì suàn yī wén。
cān jiàn
jì suàn jī kē xué kè chéng liè biǎo suàn fǎ algorithm
suàn fǎ shì zài yòu xiàn bù zhòu nèi qiú jiě mǒu yī wèn tí suǒ shǐ yòng de yī zǔ dìng yì míng què de guī zé。 tōng sú diǎn shuō, jiù shì jì suàn jī jiě tí de guò chéng。 zài zhè gè guò chéng zhōng, wú lùn shì xíng chéng jiě tí sī lù hái shì biān xiě chéng xù, dōushì zài shí shī mǒu zhǒng suàn fǎ 。 qián zhě shì tuī lǐ shí xiàn de suàn fǎ , hòu zhě shì cāo zuò shí xiàn de suàn fǎ 。
yī gè suàn fǎ yīnggāi jù yòu yǐ xià wǔ gè zhòng yào de tè zhēng:
1、 yòu qióng xìng: yī gè suàn fǎ bì xū bǎo zhèng zhí xíng yòu xiàn bù zhī hòu jié shù;
2、 què qiē xìng: suàn fǎ de měi yī bù zhòu bì xū yòu què qiē de dìng yì;
3、 shū rù: yī gè suàn fǎ yòu 0 gè huò duō gè shū rù, yǐ kè huà yùn suàn duì xiàng de chū shǐ qíng kuàng, suǒ wèi 0 gè shū rù shì zhǐ suàn fǎ běn shēn dìng chú liǎo chū shǐ tiáo jiàn;
4、 shū chū: yī gè suàn fǎ yòu yī gè huò duō gè shū chū, yǐ fǎn yìng duì shū rù shù jù jiā gōng hòu de jiēguǒ。 méi yòu shū chū de suàn fǎ shì háo wú yì yì de;
5、 kě xíng xìng: suàn fǎ yuán zé shàng néng gòu jīng què dì yùn xíng, ér qiě rén men yòng bǐ hé zhǐ zuò yòu xiàn cì yùn suàn hòu jí kě wán chéng。
suàn fǎ de shè jì yào qiú
1) zhèng què xìng( correctness)
yòu 4 gè céng cì:
A. chéng xù bù hán yǔ fǎ cuò wù;
B. chéng xù duì jǐ zǔ shū rù shù jù néng gòu dé chū mǎn zú guī gé yào qiú de jiēguǒ;
C. chéng xù duì jīng xīn xuǎn zé de、 diǎn xíng de、 kē kè de、 dài yòu diāo nán xìng de jǐ zǔ shū rù shù jù néng gòu dé chū mǎn zú guī gé yào qiú de jiēguǒ;
D. chéng xù duì yī qiē hé fǎ de shū rù shù jù dōunéng chǎn shēng mǎn zú guī gé yào qiú de jiēguǒ。
2) kě dú xìng( readability)
suàn fǎ de dì yī mùdì shì wèile yuè dú hé jiāo liú;
kě dú xìng yòu zhù yú duì suàn fǎ de lǐ jiě;
kě dú xìng yòu zhù yú duì suàn fǎ de tiáoshì hé xiū gǎi。
3) gāo xiàolǜ yǔ dī cún chǔ liàng
chǔlǐ sù dù kuài; cún chǔ róng liàng xiǎo
shí jiān hé kōng jiān shì máo dùn de、 shí jì wèn tí de qiú jiě wǎng wǎng shì qiú dé shí jiān hé kōng jiān de tǒng yī、 zhé zhōng。
suàn fǎ de miáo shù suàn fǎ de miáo shù fāng shì( cháng yòng de)
suàn fǎ miáo shù zì rán yǔ yán
liú chéng tú tè dìng de biǎo shì suàn fǎ de tú xíng fú hào
wěi yǔ yán bāo kuò chéng xù shè jì yǔ yán de sān dà jī běn jié gòu jí zì rán yǔ yán de yī zhǒng yǔ yán
lèi yǔ yán lèi sì gāo jí yǔ yán de yǔ yán, lì rú, lèi pascal、 lèi c yǔ yán。
suàn fǎ de píng jià suàn fǎ píng jià de biāo zhǔn: shí jiān fù zá dù hé kōng jiān fù zá dù。
1) shí jiān fù zá dù zhǐ zài jì suàn jī shàng yùn xíng gāi suàn fǎ suǒ huā fèi de shí jiān。 yòng“ o( shù liàng jí)” lái biǎo shì, chēng wéi“ jiē”。
cháng jiàn de shí jiān fù zá dù yòu: o( 1) cháng shù jiē; o( logn) duì shù jiē; o( n) xiàn xìng jiē; o( n ^ 2) píng fāng jiē
2) kōng jiān fù zá dù zhǐ suàn fǎ zài jì suàn jī shàng yùn xíng suǒ zhàn yòng de cún chǔ kōng jiān。 dù liàng tóng shí jiān fù zá dù。
shí jiān fù zá dù jǔ lì
( a) x: =x+1; o( 1)
( b) fori: =1tondo
x: =x+1; o( n)
( c) fori: =1tondo
forj: =1tondo
x: =x+1; o( n^ 2)
“ suàn fǎ ” yī cí zuì zǎo lái zì gōng yuán 9 shì jì bō sī shù xué jiā bǐ 'ā lè · huò wǎ lǐ sōng de yī běn yǐng xiǎng shēn yuǎn de zhù zuò《 dài shù duì huà lù》。 20 shì jì de yīng guó shù xué jiā tú líng tí chū liǎo zhù míng de tú líng lùn diǎn, bìng chōu xiàng chū liǎo yī tái jī qì, zhè tái jī qì bèi wǒ men chēng zhī wéi tú líng jī。 tú líng de sī xiǎng duì suàn fǎ de fā zhǎn qǐ dào liǎo zhòng yào de zuò yòng。
suàn fǎ shì jì suàn jī chǔlǐ xìn xī de běn zhì, yīn wéi jì suàn jī chéng xù běn zhì shàng shì yī gè suàn fǎ , gào sù jì suàn jī què qiē de bù zhòu lái zhí xíng yī gè zhǐ dìng de rèn wù, rú jì suàn zhí gōng de xīn shuǐ huò dǎ yìn xué shēng de chéng jì dān。 yī bān dì, dāng suàn fǎ zài chù lǐ xìn xī shí, shù jù huì cóng shū rù shè bèi dú qǔ, xiě rù shū chū shè bèi, kě néng bǎo cún qǐ lái yǐ gōng yǐ hòu shǐ yòng。
zhè shì suàn fǎ de yī gè jiǎn dān de lì zǐ。
wǒ men yòu yī chuàn suí jī shù liè。 wǒ men de mù de shì zhǎo dào zhè gè shù liè zhōng zuì dà de shù。 rú guǒ jiāng shù liè zhōng de měi yī gè shù zì kàn chéng shì yī kē dòu zǐ de dà xiǎo kě yǐ jiāng xià miàn de suàn fǎ xíng xiàng dì chēng wéi“ jiǎn dòu zǐ”:
shǒu xiān jiāng dì yī kē dòu zǐ( shù liè zhōng de dì yī gè shù zì) fàng rù kǒu dài zhōng。
cóng dì 'èr kē dòu zǐ kāi shǐ jiǎn chá, zhí dào zuì hòu yī kē dòu zǐ。 rú guǒ zhèng zài jiǎn chá de dòu zǐ bǐ kǒu dài zhōng de hái dà, zé jiāng tā jiǎn qǐ fàng rù kǒu dài zhōng, tóng shí diū diào yuán xiān de dòu zǐ。 zuì hòu kǒu dài zhōng de dòu zǐ jiù shì suǒ yòu de dòu zǐ zhōng zuì dà de yī kē。
xià miàn shì yī gè xíng shì suàn fǎ , yòng jìn sì yú biān chéng yǔ yán de wěi dài mǎ biǎo shì
gěi dìng: yī gè shù liè“ list", yǐ jí shù liè de cháng dù "length(list)"largest=listforcounter=2tolength(list):iflist[counter]>largest:largest=list[counter]printlargest
fú hào shuō míng :
= yòng yú biǎo shì fù zhí。 jí: yòu biān de zhí bèi fù yú gěi zuǒ biān de biàn liàng。
list[counter] yòng yú biǎo shì shù liè zhōng de dì counter xiàng。 lì rú: rú guǒ counter de zhí shì 5, nà me list[counter] biǎo shì shù liè zhōng de dì 5 xiàng。
<= yòng yú biǎo shì“ xiǎo yú huò děng yú”。
suàn fǎ de fēn lèi
( yī) jī běn suàn fǎ :
1. méi jǔ
2. sōu suǒ :
shēn dù yōu xiān sōu suǒ
guǎng dù yōu xiān sōu suǒ
qǐ fā shì sōu suǒ
yí chuán suàn fǎ
( èr) shù jù jié gòu de suàn fǎ
( sān) shù lùn yǔ dài shù suàn fǎ
( sì) jì suàn jǐ hé de suàn fǎ : qiú tū bāo
( wǔ) tú lùn suàn fǎ :
1. hā fū màn biān mǎ
2. shù de biàn lì
3. zuì duǎn lù jìng suàn fǎ
4. zuì xiǎo shēng chéng shù suàn fǎ
5. zuì xiǎo shù xíng tú
6. wǎng luò liú suàn fǎ
7. pǐ pèi suàn fǎ
( liù) dòng tài guī huá
( qī) qí tā:
1. shù zhí fēn xī
2. jiā mì suàn fǎ
3. pái xù suàn fǎ
4. jiǎn suǒ suàn fǎ
5. suí jī huà suàn fǎ |
|
suàn fǎ ( Algorithm) shì yī xì liè jiě jué wèn tí de qīng xī zhǐ lìng, yě jiù shì shuō, néng gòu duì yī dìng guī fàn de shū rù, zài yòu xiàn shí jiān nèi huò dé suǒ yào qiú de shū chū。 rú guǒ yī gè suàn fǎ yòu quē xiàn, huò bù shì hé yú mǒu gè wèn tí, zhí xíng zhè gè suàn fǎ jiāng bù huì jiě jué zhè gè wèn tí。 bù tóng de suàn fǎ kě néng yòng bù tóng de shí jiān、 kōng jiān huò xiàolǜ lái wán chéng tóng yàng de rèn wù。 yī gè suàn fǎ de yōu liè kě yǐ yòng kōng jiān fù zá dù yǔ shí jiān fù zá dù lái héng liàng。
suàn fǎ kě yǐ lǐ jiě wèiyòu jī běn yùn suàn jí guī dìng de yùn suàn shùn xù suǒ gòu chéng de wán zhěng de jiě tí bù zhòu。 huò zhě kàn chéng 'àn zhào yào qiú shè jì hǎo de yòu xiàn díquè qiē de jì suàn xù liè, bìng qiě zhè yàng de bù zhòu hé xù liè kě yǐ jiě jué yī lèi wèn tí。
yī gè suàn fǎ yīnggāi jù yòu yǐ xià wǔ gè zhòng yào de tè zhēng:
1、 yòu qióng xìng: yī gè suàn fǎ bì xū bǎo zhèng zhí xíng yòu xiàn bù zhī hòu jié shù;
2、 què qiē xìng: suàn fǎ de měi yī bù zhòu bì xū yòu què qiē de dìng yì;
3、 shū rù: yī gè suàn fǎ yòu 0 gè huò duō gè shū rù, yǐ kè huà yùn suàn duì xiàng de chū shǐ qíng kuàng, suǒ wèi 0 gè shū rù shì zhǐ suàn fǎ běn shēn dìng chú liǎo chū shǐ tiáo jiàn;
4、 shū chū: yī gè suàn fǎ yòu yī gè huò duō gè shū chū, yǐ fǎn yìng duì shū rù shù jù jiā gōng hòu de jiēguǒ。 méi yòu shū chū de suàn fǎ shì háo wú yì yì de;
5、 kě xíng xìng: suàn fǎ yuán zé shàng néng gòu jīng què dì yùn xíng, ér qiě rén men yòng bǐ hé zhǐ zuò yòu xiàn cì yùn suàn hòu jí kě wán chéng。
jì suàn jī kē xué jiā ní kè láo sī - wò sī céng zhù guò yī běn zhù míng de shū《 shù jù jié gòu shí suàn fǎ = chéng xù》, kě jiàn suàn fǎ zài jì suàn jī kē xué jiè yǔ jì suàn jī yìng yòng jiè de dì wèi。 |
|
tóng yī wèn tí kě yòng bù tóng suàn fǎ jiě jué, ér yī gè suàn fǎ de zhì liàng yōu liè jiāng yǐng xiǎng dào suàn fǎ nǎi zhì chéng xù de xiàolǜ。 suàn fǎ fēn xī de mùdì zài yú xuǎn zé hé shì suàn fǎ hé gǎi jìn suàn fǎ 。 yī gè suàn fǎ de píng jià zhù yào cóng shí jiān fù zá dù hé kōng jiān fù zá dù lái kǎo lǜ。
shí jiān fù zá dù
suàn fǎ de shí jiān fù zá dù shì zhǐ suàn fǎ xū yào xiāo hào de shí jiān zī yuán。 yī bān lái shuō, jì suàn jī suàn fǎ shì wèn tí guī mó n de hán shù f(n), suàn fǎ de shí jiān fù zá dù yě yīn cǐ jì zuò
T(n)=Ο(f(n))
yīn cǐ, wèn tí de guī mó n yuè dà, suàn fǎ zhí xíng de shí jiān de zēngchánglǜ yǔ f(n) de zēngchánglǜ zhèng xiāng guān, chēng zuò jiàn jìn shí jiān fù zá dù( AsymptoticTimeComplexity)。
kōng jiān fù zá dù
suàn fǎ de kōng jiān fù zá dù shì zhǐ suàn fǎ xū yào xiāo hào de kōng jiān zī yuán。 qí jì suàn hé biǎo shì fāng fǎ yǔ shí jiān fù zá dù lèi sì, yī bān dū yòng fù zá dù de jiàn jìn xìng lái biǎo shì。 tóng shí jiān fù zá dù xiāng bǐ, kōng jiān fù zá dù de fēn xī yào jiǎn dān dé duō。
xiáng jiàn bǎi dù bǎi kē cí tiáo " suàn fǎ fù zá dù " |
suàn fǎ shè jì yǔ fēn xī de jī běn fāng fǎ |
1. dì tuī fǎ
dì tuī fǎ shì lì yòng wèn tí běn shēn suǒ jù yòu de yī zhǒng dì tuī guān xì qiú wèn tí jiě de yī zhǒng fāng fǎ。 tā bǎ wèn tí fēn chéng ruò gān bù, zhǎo chū xiāng lín jǐ bù de guān xì, cóng 'ér dá dào mùdì, cǐ fāng fǎ chēng wéi dì tuī fǎ。
2. dì guī
dì guī zhǐ de shì yī gè guò chéng: hán shù bù duàn yǐn yòng zì shēn, zhí dào yǐn yòng de duì xiàng yǐ zhī
3. qióng jǔ sōu suǒ fǎ
qióng jǔ sōu suǒ fǎ shì duì kě néng shì jiě de zhòng duō hòu xuǎn jiě 'àn mǒu zhǒng shùn xù jìn xíng zhú yī méi jǔ hé jiǎn yàn, bìng cóng zhòng zhǎo chū nà xiē fú hé yào qiú de hòu xuǎn jiě zuò wéi wèn tí de jiě。
4. tān lán fǎ
tān lán fǎ shì yī zhǒng bù zhuī qiú zuì yōu jiě, zhǐ xī wàng dé dào jiào wéi mǎn yì jiě de fāng fǎ。 tān lán fǎ yī bān kě yǐ kuài sù dé dào mǎn yì de jiě, yīn wéi tā shěng qù liǎo wéi zhǎo zuì yōu jiě yào qióng jìn suǒ yòu kě néng 'ér bì xū hào fèi de dà liàng shí jiān。 tān lán fǎ cháng yǐ dāng qián qíng kuàng wéi jī chǔ zuò zuì yōu xuǎn zé, ér bù kǎo lǜ gè zhǒng kě néng de zhěng tǐ qíng kuàng, suǒ yǐ tān lán fǎ bù yào huí sù。
5. fēn zhì fǎ
bǎ yī gè fù zá de wèn tí fēn chéng liǎng gè huò gèng duō de xiāng tóng huò xiāng sì de zǐ wèn tí, zài bǎ zǐ wèn tí fēn chéng gèng xiǎo de zǐ wèn tí…… zhí dào zuì hòu zǐ wèn tí kě yǐ jiǎn dān de zhí jiē qiú jiě, yuán wèn tí de jiě jí zǐ wèn tí de jiě de hé bìng。
6. dòng tài guī huá fǎ
dòng tài guī huá shì yī zhǒng zài shù xué hé jì suàn jī kē xué zhōng shǐ yòng de, yòng yú qiú jiě bāo hán chóngdié zǐ wèn tí de zuì yōu huà wèn tí de fāng fǎ。 qí jī běn sī xiǎng shì, jiāng yuán wèn tí fēn jiě wéixiàng shìde zǐ wèn tí, zài qiú jiě de guò chéng zhōng tōng guò zǐ wèn tí de jiě qiú chū yuán wèn tí de jiě。 dòng tài guī huá de sī xiǎng shì duō zhǒng suàn fǎ de jī chǔ, bèi guǎng fàn yìng yòng yú jì suàn jī kē xué hé gōng chéng lǐng yù。
7. dié dài fǎ
dié dài shì shù zhí fēn xī zhōng tōng guò cóng yī gè chū shǐ gū jì chū fā xún zhǎo yī xì liè jìn sì jiě lái jiě jué wèn tí( yī bān shì jiě fāng chéng huò zhě fāng chéng zǔ) de guò chéng, wéi shí xiàn zhè yī guò chéng suǒ shǐ yòng de fāng fǎ tǒng chēng wéi dié dài fǎ。 |
|
suàn fǎ kě dà zhì fēn wéi jī běn suàn fǎ 、 shù jù jié gòu de suàn fǎ 、 shù lùn yǔ dài shù suàn fǎ 、 jì suàn jǐ hé de suàn fǎ 、 tú lùn de suàn fǎ 、 dòng tài guī huá yǐ jí shù zhí fēn xī、 jiā mì suàn fǎ 、 pái xù suàn fǎ 、 jiǎn suǒ suàn fǎ 、 suí jī huà suàn fǎ 、 bìng xíng suàn fǎ 。
suàn fǎ kě yǐ hóng fàn de fēn wéi sān lèi:
yòu xiàn de, què dìng xìng suàn fǎ zhè lèi suàn fǎ zài yòu xiàn de yī duàn shí jiān nèi zhōng zhǐ。 tā men kě néng yào huā hěn cháng shí jiān lái zhí xíng zhǐ dìng de rèn wù, dàn réng jiāng zài yī dìng de shí jiān nèi zhōng zhǐ。 zhè lèi suàn fǎ dé chū de jiēguǒ cháng qǔ jué yú shū rù zhí。
yòu xiàn de, fēi què dìng suàn fǎ zhè lèi suàn fǎ zài yòu xiàn de shí jiān nèi zhōng zhǐ。 rán 'ér, duì yú yī gè( huò yī xiē) gěi dìng de shù zhí, suàn fǎ de jiēguǒ bìng bù shì wéi yī de huò què dìng de。
wú xiàn de suàn fǎ shì nà xiē yóu yú méi yòu dìng yì zhōng zhǐ dìng yì tiáo jiàn, huò dìng yì de tiáo jiàn wú fǎ yóu shū rù de shù jù mǎn zú 'ér bù zhōng zhǐ yùn xíng de suàn fǎ 。 tōng cháng, wú xiàn suàn fǎ de chǎn shēng shì yóu yú wèi néng què dìng de dìng yì zhōng zhǐ tiáo jiàn。 |
|
| jīng diǎn de suàn fǎ yòu hěn duō, rú: " ōu jǐ lǐ dé suàn fǎ , gē yuán shù, qín jiǔ sháo suàn fǎ "。 |
suàn fǎ jīng diǎn zhuān zhù |
| mù qián shì miàn shàng yòu xǔ duō lùn shù suàn fǎ de shū jí, qí zhōng zuì zhù míng de biàn shì《 jì suàn jī chéng xù shè jì yì shù》( TheArtOfComputerProgramming) yǐ jí《 suàn fǎ dǎo lùn》( IntroductionToAlgorithms)。 |
|
| “ suàn fǎ ” jí yǎn suàn fǎ de dà lù zhōng wén míng chēng chū zì《 zhōu bì suàn jīng》; ér yīng wén míng chēng Algorithm lái zì yú 9 shì jì bō sī shù xué jiā al-Khwarizmi, yīn wéi al-Khwarizmi zài shù xué shàng tí chū liǎo suàn fǎ zhè gè gài niàn。“ suàn fǎ ” yuán wéi "algorism", yì sī shì 'ā lā bó shù zì de yùn suàn fǎ zé, zài 18 shì jì yǎn biàn wéi "algorithm"。 ōu jǐ lǐ dé suàn fǎ bèi rén men rèn wéi shì shǐ shàng dì yī gè suàn fǎ 。 dì yī cì biān xiě chéng xù shì AdaByron yú 1842 nián wéi bā bèi qí fēn xī jī biān xiě qiú jiě jiě bó nǔ lì fāng chéng de chéng xù, yīn cǐ AdaByron bèi dà duō shù rén rèn wéi shì shì jiè shàng dì yī wèi chéng xù yuán。 yīn wéi chá 'ěr sī · bā bèi qí (CharlesBabbage) wèi néng wán chéng tā de bā bèi qí fēn xī jī, zhè gè suàn fǎ wèi néng zài bā bèi qí fēn xī jī shàng zhí xíng。 yīn wéi "well-definedprocedure" quē shǎo shù xué shàng jīng què de dìng yì, 19 shì jì hé 20 shì jì zǎo qī de shù xué jiā、 luó ji xué jiā zài dìng yì suàn fǎ shàng chū xiàn liǎo kùn nán。 20 shì jì de yīng guó shù xué jiā tú líng tí chū liǎo zhù míng de tú líng lùn tí, bìng tí chū yī zhǒng jiǎ xiǎng de jì suàn jī de chōu xiàng mó xíng, zhè gè mó xíng bèi chēng wéi tú líng jī。 tú líng jī de chū xiàn jiě jué liǎo suàn fǎ dìng yì de nán tí, tú líng de sī xiǎng duì suàn fǎ de fā zhǎn qǐ dào liǎo zhòng yào zuò yòng de。 |
|
suanfa
suàn fǎ
algorithm
qiú jiě wèn tí lèi de、 jī xiè de、 tǒng yī de fāng fǎ, tā yóu yòu xiàn duō gè bù zhòu zǔ chéng, duì yú wèn tí lèi zhōng de měi gè gěi dìng de jù tǐ wèn tí, jī xiè dì zhí xíng zhè xiē bù zhòu jiù kě yǐ dé dào wèn tí de jiě dá。 suàn fǎ de zhè zhǒng tè xìng, shǐ dé jì suàn bù jǐn kě yǐ yóu rén, ér qiě kě yǐ yóu jì suàn jī lái wán chéng。 yòng jì suàn jī jiě jué wèn tí de guò chéng kě yǐ fēn chéng sān gè jiē duàn: fēn xī wèn tí、 shè jì suàn fǎ hé shí xiàn suàn fǎ 。
zhōng guó gǔ dài de chóu suàn kǒu jué yǔ zhū suàn kǒu jué jí qí zhí xíng guī zé jiù shì suàn fǎ de chú xíng , zhè lǐ , suǒ jiě jué de wèn tí lèi shì suàn shù yùn suàn。 gǔ xī là shù xué jiā 'ōu jǐ lǐ dé zài gōng yuán qián 3 shì jì jiù tí chū liǎo yī gè suàn fǎ , lái xún qiú liǎng gè zhèng zhěng shù de zuì dà gōng yuē shù, zhè jiù shì yòu míng de 'ōu jǐ lǐ dé suàn fǎ , yì chēng niǎn zhuǎn xiāng chú fǎ。 zhōng guó zǎo yǐ yòu“ suàn shù”、“ suàn fǎ ” děng cí huì, dàn shì tā men de hán yì shì zhǐ dāng shí de quán bù shù xué zhī shí hé jì suàn jì néng , yǔ xiàn dài suàn fǎ de hán yì bù jìn xiāng tóng。 yīng wén algorithm( suàn fǎ ) yī cí yě jīng lì liǎo yī gè yǎn biàn guò chéng, zuì chū de pīn fǎ wéi algorism huò algoritmi, yuán yì wéi yòng 'ā lā bó shù zì jìn xíng jì suàn de guò chéng。 zhè gè cí yuán yú gōng yuán 9 shì jì bō sī shù zì jiā 'ā 'ěr · huā lā zǐ mǐ de míng zì de zuì hòu yī bù fēn。
zài gǔ dài, jì suàn tōng cháng shì zhǐ shù zhí jì suàn。 xiàn dài jì suàn yǐ jīng yuǎn yuǎn dì tū pò liǎo shù zhí jì suàn de fàn wéi , bāo kuò dà liàng de fēi shù zhí jì suàn , lì rú jiǎn suǒ、 biǎo gé chǔlǐ、 pàn duàn、 jué cè、 xíng shì luó ji yǎn yì děng。
zài 20 shì jì yǐ qián, rén men pǔ biàn dì rèn wéi, suǒ yòu de wèn tí lèi dōushì yòu suàn fǎ de。 20 shì jì chū, shù zì jiā men fā xiàn yòu de wèn tí lèi shì bù cún zài suàn fǎ de , suì kāi shǐ jìn xíng néng xíng xìng yán jiū。 zài zhè yī yán jiū zhōng , xiàn dài suàn fǎ de gài niàn zhú bù míng què qǐ lái。 30 nián dài, shù zì jiā men tí chū liǎo dì guī hán shù、 tú líng jī děng jì suàn mó xíng, bìng tí chū liǎo qiū qí- tú líng lùn tí( jiàn kě jì suàn xìng lǐ lùn), zhè cái yòu kě néng bǎ suàn fǎ gài niàn xíng shì huà。 àn zhào qiū qí - tú líng lùn tí , rèn yì yī gè suàn fǎ dōukě yǐ yòng yī gè tú líng jī lái shí xiàn, fǎn zhī, rèn yì yī gè tú líng jī dū biǎo shì yī gè suàn fǎ 。
àn zhào shàng shù lǐ jiě, suàn fǎ shì yóu yòu xiàn duō gè bù zhòu zǔ chéng de, tā yòu xià shù liǎng gè jī běn tè zhēng: měi gè bù zhòu dū míng què dì guī dìng yào zhí xíng hé zhǒng cāo zuò; měi gè bù zhòu dōukě yǐ bèi rén huò jī qì zài yòu xiàn de shí jiān nèi wán chéng。 rén men duì yú suàn fǎ hái yòu lìng yī zhǒng bù tóng de lǐ jiě, tā yào qiú suàn fǎ chú liǎo shàng shù liǎng gè jī běn tè zhēng wài , hái yào jù yòu dì sān gè jī běn tè zhēng : suī rán yòu xiē bù zhòu kě néng bèi fǎn fù zhí xíng duō cì, dàn shì zài zhí xíng yòu xiàn duō cì zhī hòu, jiù yī dìng néng gòu dé dào wèn tí de jiě dá。 yě jiù shì shuō, yī gè chù chù tíng jī( jí duì rèn yì shū rù dū tíng jī) de tú líng jī cái biǎo shì yī gè suàn fǎ , ér měi gè suàn fǎ dōukě yǐ bèi yī gè chù chù tíng jī de tú líng jī lái shí xiàn。
( táng shǒu wén)
|
|
- n.: algorithm, arithmetic, basis, set of rules or procedures that must be followed in solving a problem
|
|
gōng shì jì suàn chéng xù |
|
| jiā quán tú | zuì duǎn lù jìng | Floyd | jì suàn jī | wǎng luò | jiā mì | IT | wù lǐ | | biān chéng | xué kē | dān yuán zuì duǎn lù jìng | bǎi kē dà quán | diàn zǐ shāng wù | wǎng luò 'ān quán | ān quán yóu jiàn | jiā mì ruǎn jiàn | | Rsa gōng chí | yóu xì | fù lì yè | pín pǔ | shù xué biàn huàn | jì shù | hù lián wǎng | gèng duō jiēguǒ ... |
|
|
| D suàn fǎ | a suàn fǎ | jì suàn fǎ | tú suàn fǎ | suàn fǎ de | |
|
|
| wǔ jīng suàn shù | jiǔ zhāng suàn shù | sūn zǐ suàn jīng | hǎi dǎo suàn jīng | | jī gǔ suàn jīng | zhōu bì suàn jīng | jiǔ zhāng suàn jīng | |
|