suàn : xué lèi : tōng xìn gōng chéng > shēn yōu xiān sōu suǒ
mùlù
No. 1
   shēn yōu xiān sōu suǒ shì zhǒng zài kāi chóng zǎo shǐ yòng jiào duō de fāng de mùdì shì yào dào bèi sōu suǒ jié gòu de jié diǎn ( xiē bāo hán rèn chāo liàn de html wén jiàn )。 zài html wén jiàn zhōngdāng chāo liàn bèi xuǎn hòubèi liàn jiē de html wén jiàn jiāng zhí xíng shēn yōu xiān sōu suǒ zài sōu suǒ de chāo liàn jiēguǒ zhī qián xiān wán zhěng sōu suǒ dān de tiáo liàn shēn yōu xiān sōu suǒ yán zhe html wén jiàn shàng de chāo liàn zǒu dào néng zài shēn wéi zhǐrán hòu fǎn huí dào mǒu html wén jiànzài xuǎn gāi html wén jiàn zhōng de chāo liàndāng zài yòu chāo liàn xuǎn shíshuō míng sōu suǒ jīng jié shùyōu diǎn shì néng biàn web zhàn diǎn huò shēn céng qiàn tào de wén dàng quē diǎn shì yīn wéi web jié gòu xiāng dāng shēn ,, yòu néng zào chéng dàn jìn zài chū lái de qíng kuàng shēng
  ( jìn huà lùn 'àn : yóu shàng duàn miáo shù běn rén néng kàn dǒng , suǒ zàn shí bǎo liú zhī .)
   shì shí shàng , shēn yōu xiān sōu suǒ shǔ suàn de zhǒng , yīng wén suō xiě wéi dfs depthfirstsearch. guò chéng jiǎn yào lái shuō shì duì měi néng de fēn zhī jìng shēn dào néng zài shēn wéi zhǐ , ér qiě měi jié diǎn zhǐ néng fǎng wèn .
   shuō míng zhī : xià shì xiàng , guǒ men cóng a diǎn shēn yōu xiān sōu suǒ ( xià de fǎng wèn bìng shì wéi de , 'èr diǎn shì b shì c,d), men néng dào xià de fǎng wèn guò chéng :a->b->e( méi yòu liǎo ! huí dào a)->c->f->h->g->d( méi yòu , zuì zhōng huí dào a,a méi yòu wèi fǎng wèn de xiāng lín jié diǎn , běn sōu suǒ jié shù ).
  b--e
  /
  a-c--f
  >h
  d--g
   jiǎn yào shuō míng shēn yōu xiān sōu suǒ de diǎn : měi shēn yōu xiān sōu suǒ de jiēguǒ rán shì de lián tōng fènliàng . shēn yōu xiān sōu suǒ cóng duō diǎn . guǒ jiāng měi jié diǎn zài shēn yōu xiān sōu suǒ guò chéng zhōng de " jié shù shí jiān " pái ( zuò shì chuàng jiàn list, rán hòu zài měi jié diǎn de xiāng lín jié diǎn dōuyǐ bèi fǎng wèn de qíng kuàng xià , jiāng gāi jié diǎn jiā list jié wěi , rán hòu zhuǎn zhěng liàn biǎo ), men dào suǒ wèi de " tuò pái ", topologicalsort.
   dāng rán , dāng rén men gāng gāng zhǎng shēn yōu xiān sōu suǒ de shí hòu cháng cháng yòng lái zǒu gōng . shì shí shàng men hái yòu bié de fāng , jiù shì guǎng yōu xiān sōu suǒ (bfs). zhuàng tài( state): zhuàng tài shì zhì wèn qiú jiě guò chéng zhōng měi de zhuàng kuàng
   suàn ( operater) suàn shì wèn cóng zhǒng zhuàng tài biàn huàn dào lìng zhǒng zhuàng tài de fāng dài hàosuàn de zhǐ fàn wéi jiù shì sōu suǒ de fàn wéi。( bān shè wéi biàn liàng )。
   jié diǎn( node) : yòng lái biǎo míng zhuàng tài zhēng xiāng guān xìn
No. 2
   shēn yōu xiān sōu suǒ shì zhǒng zài kāi chóng zǎo shǐ yòng jiào duō de fāng de mùdì shì yào dào bèi sōu suǒ jié gòu de jié diǎn ( xiē bāo hán rèn chāo liàn de HTML wén jiàn )。 zài HTML wén jiàn zhōngdāng chāo liàn bèi xuǎn hòubèi liàn jiē de HTML wén jiàn jiāng zhí xíng shēn yōu xiān sōu suǒ zài sōu suǒ de chāo liàn jiēguǒ zhī qián xiān wán zhěng sōu suǒ dān de tiáo liàn shēn yōu xiān sōu suǒ yán zhe HTML wén jiàn shàng de chāo liàn zǒu dào néng zài shēn wéi zhǐrán hòu fǎn huí dào mǒu HTML wén jiànzài xuǎn gāi HTML wén jiàn zhōng de chāo liàndāng zài yòu chāo liàn xuǎn shíshuō míng sōu suǒ jīng jié shùyōu diǎn shì néng biàn Web zhàn diǎn huò shēn céng qiàn tào de wén dàng quē diǎn shì yīn wéi Web jié gòu xiāng dāng shēn ,, yòu néng zào chéng dàn jìn zài chū lái de qíng kuàng shēng
  ( jìn huà lùn 'àn : yóu shàng duàn miáo shù běn rén néng kàn dǒng , suǒ zàn shí bǎo liú zhī .)
   shì shí shàng , shēn yōu xiān sōu suǒ shǔ suàn de zhǒng , yīng wén suō xiě wéi DFS DepthFirstSearch. guò chéng jiǎn yào lái shuō shì duì měi néng de fēn zhī jìng shēn dào néng zài shēn wéi zhǐ , ér qiě měi jié diǎn zhǐ néng fǎng wèn .
   shuō míng zhī : xià shì xiàng , guǒ men cóng A diǎn shēn yōu xiān sōu suǒ ( xià de fǎng wèn bìng shì wéi de , 'èr diǎn shì B shì C,D), men néng dào xià de fǎng wèn guò chéng :A->B->E( méi yòu liǎo ! huí dào A)->C->F->H->G->D( méi yòu , zuì zhōng huí dào A,A méi yòu wèi fǎng wèn de xiāng lín jié diǎn , běn sōu suǒ jié shù ).
   jiǎn yào shuō míng shēn yōu xiān sōu suǒ de diǎn : měi shēn yōu xiān sōu suǒ de jiēguǒ rán shì de lián tōng fènliàng . shēn yōu xiān sōu suǒ cóng duō diǎn . guǒ jiāng měi jié diǎn zài shēn yōu xiān sōu suǒ guò chéng zhōng de " jié shù shí jiān " pái ( zuò shì chuàng jiàn list, rán hòu zài měi jié diǎn de xiāng lín jié diǎn dōuyǐ bèi fǎng wèn de qíng kuàng xià , jiāng gāi jié diǎn jiā list jié wěi , rán hòu zhuǎn zhěng liàn biǎo ), men dào suǒ wèi de " tuò pái ", topologicalsort.
   dāng rán , dāng rén men gāng gāng zhǎng shēn yōu xiān sōu suǒ de shí hòu cháng cháng yòng lái zǒu gōng . shì shí shàng men hái yòu bié de fāng , jiù shì guǎng yōu xiān sōu suǒ (BFS). zhuàng tài( state): zhuàng tài shì zhì wèn qiú jiě guò chéng zhōng měi de zhuàng kuàng
   suàn ( operater) suàn shì wèn cóng zhǒng zhuàng tài biàn huàn dào lìng zhǒng zhuàng tài de fāng dài hàosuàn de zhǐ fàn wéi jiù shì sōu suǒ de fàn wéi。( bān shè wéi biàn liàng )。
   jié diǎn( node) : yòng lái biǎo míng zhuàng tài zhēng xiāng guān xìn
   zài men dào de xiē wèn dāng zhōngyòu xiē wèn men néng gòu què qiē de zhǎo chū shù xué xíng zhǎo chū zhǒng zhí jiē qiú jiě de fāng jiě jué zhè lèi wèn men bān cǎi yòng sōu suǒ de fāng jiě juésōu suǒ jiù shì yòng wèn de suǒ yòu néng shì tànàn zhào dìng de shùn guī duàn shì tànzhí dào zhǎo dào wèn de jiěshì wán liǎo méi yòu zhǎo dào jiě jiù shì jiěshì tàn shí dìng yào shì tàn wán suǒ yòu de qíng kuàngshí shàng jiù shì qióng );
   duì wèn de zhuàng tàijiào chū shǐ zhuàng tàiyào qiú de zhuàng tài jiào biāo zhuàng tài
   sōu suǒ jiù shì guī yìng yòng shí shǐ zhuàng tàizài chǎn shēng de zhuàng tài zhōngzhí dào dào biāo zhuàng tài wéi zhǐ
   chǎn shēng xīn de zhuàng tài de guò chéng jiào kuò zhǎnyóu zhuàng tàiyìng yòng guī chǎn shēng xīn zhuàng tài de guò chéng
   sōu suǒ de yào diǎn:( 1) chū shǐ zhuàng tài
  ( 2) chóngfù chǎn shēng xīn zhuàng tài
  ( 3) jiǎn chá xīn zhuàng tài shì fǒu wéi biāoshì jié shùfǒu zhuǎn( 2);
   guǒ sōu suǒ shì jiē jìn shǐ zhuàng tài de chéng kuò zhǎn zhuàng tài dejiào kuān yōu xiān sōu suǒ
   guǒ kuò zhǎn shì shǒu xiān kuò zhǎn xīn chǎn shēng de zhuàng tài jiào shēn yōu xiān sōu suǒ
   shēn yōu xiān sōu suǒ
   shēn yōu xiān sōu suǒ yòng shù cún fàng chǎn shēng de suǒ yòu zhuàng tài
  ( 1) chū shǐ zhuàng tài fàng shù zhōngshè wéi dāng qián zhuàng tài
  ( 2) kuò zhǎn dāng qián de zhuàng tàichǎn shēng xīn de zhuàng tài fàng shù zhōngtóng shí xīn chǎn shēng de zhuàng tài shè wéi dāng qián zhuàng tài
  ( 3) pàn duàn dāng qián zhuàng tài shì fǒu qián miàn de chóngfù guǒ chóngfù huí dào shàng zhuàng tàichǎn shēng de lìng zhuàng tài
  ( 4) pàn duàn dāng qián zhuàng tài shì fǒu wéi biāo zhuàng tài guǒ shì biāo zhǎo dào jiě jié shù suàn
  ( 5) guǒ shù wéi kōngshuō míng jiě
   duì pascal yán lái jiǎng zhī chí guīzài guī shí dòng shí xiàn huí yòng biàn liàngsuǒ shǐ yòng guī biān xiě shēn yōu xiān sōu suǒ chéng xiāng duì jiǎn dāndāng rán yòu fēi guī shí xiàn de suàn
   xiàn zài zhè lái ( gōng )
  1111010101010111
   diǎn wéi (1,1) zhǎo dào suǒ yòu de dào (4,4) de jìng .
   chéng xià
  const
  b:array[1..4,1..4]ofinteger=((1,1,1,1),(0,1,0,1),(0,1,0,1),(0,1,1,1));
  c:array[1..4,1..2]of-1..1=((0,1),(0,-1),(1,0),(-1,0));
  var
  a:array[1..16,1..2]ofinteger;
  procedureprint;
  var
  i,j:integer;
  begin
  fori:=1to4do
  begin
  forj:=1to4do
  write(b[i,j]:3);
  writeln;
  end;
  writeln('--------------');
  end;
  proceduretry(k:integer);
  var
  i:integer;
  begin
  if(a[k,1]=4)and(a[k,2]=4)thenbeginprint;exit;end;
  fori:=1to4do
  begin
  a[k+1,1]:=a[k,1]+c[i,1];
  a[k+1,2]:=a[k,2]+c[i,2];
  if(a[k+1,1]>=1)and(a[k+1,1]<=4)and(a[k+1,2]>=1)and(a[k+1,2]<=4)and
  (b[a[k+1,1],a[k+1,2]]=1)thenbegin
  b[a[k+1,1],a[k+1,2]]:=2;
  try(k+1);
  b[a[k+1,1],a[k+1,2]]:=1;
  end;
  end;
  end;
  begin
  a[1,1]:=1;
  a[1,2]:=1;
  b[1,1]:=2;
  try(1);
  end.
   zhè jiù shì shuō shì shuō jìn xíng sōu suǒ tiáo zhí dào néng zǒu wéi zhǐ , huàn lìng tiáo .
xiàngguāncí
suàn