﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-I believe</title><link>http://www.cppblog.com/luyulaile/</link><description>I  can</description><language>zh-cn</language><lastBuildDate>Sat, 11 Apr 2026 09:51:04 GMT</lastBuildDate><pubDate>Sat, 11 Apr 2026 09:51:04 GMT</pubDate><ttl>60</ttl><item><title>TSP Java 实现</title><link>http://www.cppblog.com/luyulaile/archive/2013/03/31/198982.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Sun, 31 Mar 2013 06:39:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2013/03/31/198982.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/198982.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2013/03/31/198982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/198982.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/198982.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span>&nbsp;BotClean;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;java.io.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.text.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.math.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.regex.*;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;java.io.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.text.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.math.*;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.regex.*;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Solution2&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Status{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;id;<span style="color: #008000; ">//</span><span style="color: #008000; ">current&nbsp;city</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;action;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;distance;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector&lt;Integer&gt;&nbsp;unvisited;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HashSet&lt;Integer&gt;&nbsp;visited;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;Status(<span style="color: #0000FF; ">int</span>&nbsp;id)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.id=id;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;DirtyDot{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;id;<span style="color: #008000; ">//</span><span style="color: #008000; ">current&nbsp;city</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;y;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;DirtyDot(<span style="color: #0000FF; ">int</span>&nbsp;id,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;y)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.id=id;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.x=x;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.y=y;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008000; ">/*</span><span style="color: #008000; ">&nbsp;Head&nbsp;ends&nbsp;here&nbsp;</span><span style="color: #008000; ">*/</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;next_move(<span style="color: #0000FF; ">int</span>&nbsp;x,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;y,&nbsp;String[]&nbsp;board){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TSP(board,x,y);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><span style="color: #008000; ">/*</span><span style="color: #008000; ">&nbsp;Tail&nbsp;starts&nbsp;here&nbsp;</span><span style="color: #008000; ">*/</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;main(String[]&nbsp;args)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">TSP(null,0,0);</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scanner&nbsp;in&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;Scanner(System.in);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;[]&nbsp;pos&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;<span style="color: #0000FF; ">int</span>[2];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;board[]&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;String[5];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;2;i++)&nbsp;pos[i]&nbsp;=&nbsp;in.nextInt();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;5;i++)&nbsp;board[i]&nbsp;=&nbsp;in.next();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("begin&nbsp;now!");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next_move(pos[0],&nbsp;pos[1],&nbsp;board);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;TSP(String[]&nbsp;board,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;x,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;y)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;dirty="d";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HashMap&lt;Integer,&nbsp;DirtyDot&gt;&nbsp;dirtyList=<span style="color: #0000FF; ">new</span>&nbsp;HashMap&lt;Integer,DirtyDot&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;id=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DirtyDot&nbsp;tempDirtyDot2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DirtyDot&nbsp;tempDirtyDot=<span style="color: #0000FF; ">new</span>&nbsp;DirtyDot(id-1,x,y);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirtyList.put(id,tempDirtyDot);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;board.length;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(board[i].contains(dirty))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;position;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position=board[i].indexOf(dirty,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(position!=-1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempDirtyDot=<span style="color: #0000FF; ">new</span>&nbsp;DirtyDot(id,i,position);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirtyList.put(id,tempDirtyDot);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position=board[i].indexOf(dirty,position+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("position"+position);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;MAX=id;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;dist[][]=new&nbsp;int[MAX][MAX];<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i&lt;MAX;i++)<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;j=0;j&lt;MAX;j++)<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempDirtyDot=dirtyList.get(i);<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempDirtyDot2=dirtyList.get(j);<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dist[i][j]=Math.abs(tempDirtyDot.x-tempDirtyDot2.x)+Math.abs(tempDirtyDot.y-tempDirtyDot2.y);<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;MAX=4;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;dist[][]={{-1,3,6,7},{2,-1,8,6},{7,3,-1,5,},{7,3,7,-1}};&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector&lt;Status&gt;&nbsp;currentStatus=<span style="color: #0000FF; ">new</span>&nbsp;Vector&lt;Status&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector&lt;Status&gt;&nbsp;previousStatus;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">/*</span><span style="color: #008000; ">Initialize&nbsp;current&nbsp;Status&nbsp;Vector</span><span style="color: #008000; ">*/</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;MAX;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;status=<span style="color: #0000FF; ">new</span>&nbsp;Status(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status.distance=dist[i][0];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status.unvisited=<span style="color: #0000FF; ">new</span>&nbsp;Vector&lt;Integer&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status.visited=<span style="color: #0000FF; ">new</span>&nbsp;HashSet&lt;Integer&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentStatus.add(status);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("Initialized&nbsp;current&nbsp;Status&nbsp;Vector");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">System.out.println(currentStatus.size());</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;j=0;j&lt;MAX-2;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;previousStatus=currentStatus;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentStatus=<span style="color: #0000FF; ">new</span>&nbsp;&nbsp;Vector&lt;Status&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">System.out.println(previousStatus.size());</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=1;i&lt;MAX;i++)<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;enumerate&nbsp;each&nbsp;node</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;k=0;k&lt;previousStatus.size();k++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;tempStatus=previousStatus.elementAt(k);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(isContain(tempStatus,i)==<span style="color: #0000FF; ">false</span>)<span style="color: #008000; ">//</span><span style="color: #008000; ">gurantee&nbsp;node&nbsp;i&nbsp;is&nbsp;not&nbsp;in&nbsp;tempStatus</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;newStatus=<span style="color: #0000FF; ">new</span>&nbsp;Status(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newStatus.distance=tempStatus.distance+dist[i][tempStatus.id];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("id"+tempStatus.id);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newStatus.visited=<span style="color: #0000FF; ">new</span>&nbsp;HashSet&lt;Integer&gt;(tempStatus.visited);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newStatus.unvisited=<span style="color: #0000FF; ">new</span>&nbsp;Vector&lt;Integer&gt;(tempStatus.unvisited);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newStatus.unvisited.add(0,(Integer)(tempStatus.id));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newStatus.visited.add(tempStatus.id);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentStatus.add(newStatus);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(newStatus.unvisited.size());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(newStatus.distance);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">System.out.println(currentStatus.size());</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentStatus=optimize(currentStatus);<span style="color: #008000; ">//</span><span style="color: #008000; ">dp&nbsp;process&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">System.out.println(currentStatus.size());</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #008000; ">//</span><span style="color: #008000; ">end&nbsp;for</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterator&lt;Status&gt;&nbsp;iterator&nbsp;=&nbsp;currentStatus.iterator();&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;tempStatus=iterator.next();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;shortest=tempStatus;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;minDistance=dist[0][tempStatus.id]+tempStatus.distance;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("1:"+tempStatus.distance);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("2:"+dist[0][tempStatus.id]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(iterator.hasNext())&nbsp;{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStatus=iterator.next();&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;tempDistant=dist[0][tempStatus.id]+tempStatus.distance;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("11:"+tempStatus.distance);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("22:"+dist[0][tempStatus.id]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("33:"+tempStatus.id);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(tempDistant&lt;minDistance)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minDistance=tempDistant;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("in&nbsp;loop"+minDistance);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">System.out.println(tempStatus.distance);</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shortest=tempStatus;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("distance:&nbsp;"+minDistance);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("size:"+shortest.unvisited.size());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("&nbsp;1");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("&nbsp;"+shortest.id);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i=0;i&lt;shortest.unvisited.size();i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;tmp=shortest.unvisited.get(i)+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print("&nbsp;"+tmp);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("&nbsp;1");<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;Vector&lt;Status&gt;&nbsp;optimize(Vector&lt;Status&gt;&nbsp;cs)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;tempStatus,anotherStatus;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;j;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterator&lt;Status&gt;&nbsp;iterator&nbsp;=&nbsp;cs.iterator();&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(iterator.hasNext())&nbsp;{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStatus=iterator.next();&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(j=0;j&lt;cs.size();j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anotherStatus=cs.get(j);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(tempStatus.id==anotherStatus.id&amp;&amp;tempStatus.visited.equals(anotherStatus.visited))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(tempStatus.distance&gt;anotherStatus.distance)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator.remove();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;cs;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;<span style="color: #0000FF; ">boolean</span>&nbsp;isContain(Status&nbsp;sta,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(i==sta.id)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;sta.unvisited.contains(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />}<br /><br /></div><img src ="http://www.cppblog.com/luyulaile/aggbug/198982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2013-03-31 14:39 <a href="http://www.cppblog.com/luyulaile/archive/2013/03/31/198982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态规划 解TSP 旅行商问题 经典实现 </title><link>http://www.cppblog.com/luyulaile/archive/2013/03/31/198974.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Sat, 30 Mar 2013 21:26:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2013/03/31/198974.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/198974.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2013/03/31/198974.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/198974.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/198974.html</trackback:ping><description><![CDATA[<h1><span style="color: #333333; font-family: Arial; font-size: 14px; font-weight: normal; line-height: 26px;">原文地址: http://blog.csdn.net/gfaiswl/article/details/4749713</span><br /><br />1.问题定义</h1><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TSP问题（旅行商问题）是指旅行家要旅行n个城市，要求各个城市经历且仅经历一次然后回到出发城市，并要求所走的路程最短。</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假设现在有四个城市，0,1,2,3，他们之间的代价如图一，可以存成二维表的形式<br /><div></div></p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_2.png" style="margin: 0px; padding: 0px; color: #336699; text-decoration: initial;"><img title="image" src="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_thumb.png" border="0" alt="image" width="244" height="237" style="margin: 0px; padding: 0px; border: 0px none; display: inline;" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_4.gif" style="margin: 0px; padding: 0px; color: #336699; text-decoration: initial;"><img title="image" src="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_thumb_1.gif" border="0" alt="image" width="240" height="187" style="margin: 0px; padding: 0px; border: 0px none; display: inline;" /></a></p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 图一&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在要从城市0出发，最后又回到0，期间1，2，3都必须并且只能经过一次，使代价最小。</p><h1><a name="t1" style="margin: 0px; padding: 0px; color: rgb(51, 102, 153);"></a>2.动态规划可行性</h1><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设s, s1, s2, &#8230;, sp, s是从s出发的一条路径长度最短的简单回路，假设从s到下一个城市s1已经求出，则问题转化为求从s1到s的最短路径，显然s1, s2, &#8230;, sp, s一定构成一条从s1到s的最短路径，所以TSP问题是构成最优子结构性质的，用动态规划来求解也是合理的。</p><h1><a name="t2" style="margin: 0px; padding: 0px; color: rgb(51, 102, 153);"></a>3.推导动态规划方程</h1><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假设从顶点s出发，令d(i, V&#8217;)表示从顶点i出发经过V&#8217;(是一个点的集合)中各个顶点一次且仅一次，最后回到出发点s的最短路径长度。</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 推导：(分情况来讨论)</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#9312;当V&#8217;为空集，那么d(i, V&#8217;)，表示从i不经过任何点就回到s了，如上图的 城市3-&gt;城市0(0为起点城市)。此时d(i, V&#8217;)=Cis(就是 城市i 到 城市s 的距离)、</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#9313;如果V&#8217;不为空，那么就是对子问题的最优求解。你必须在V&#8217;这个城市集合中，尝试每一个，并求出最优解。</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d(i, V&#8217;)=min{Cik +&nbsp; d(k, V&#8217;-{k})}</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注：Cik表示你选择的城市和城市i的距离，d(k, V&#8217;-{k})是一个子问题。</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 综上所述，TSP问题的动态规划方程就出来了：</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_6.gif" style="margin: 0px; padding: 0px; color: #336699; text-decoration: initial;"><img title="image" src="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_thumb_2.gif" border="0" alt="image" width="369" height="70" style="margin: 0px; padding: 0px; border: 0px none; display: inline;" /></a></p><h1><a name="t3" style="margin: 0px; padding: 0px; color: rgb(51, 102, 153);"></a>4.实例分析</h1><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp; 现在对问题定义中的例子来说明TSP的求解过程。(假设出发城市是 0城市)</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_8.gif" style="margin: 0px; padding: 0px; color: #336699; text-decoration: initial;"><img title="image" src="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_thumb_3.gif" border="0" alt="image" width="534" height="226" style="margin: 0px; padding: 0px; border: 0px none; display: inline;" /></a></p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp; &#9312;我们要求的最终结果是d(0,{1,2,3}),它表示，从城市0开始，经过{1,2,3}之中的城市并且只有一次，求出最短路径.</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp; &#9313;d(0,{1,2,3})是不能一下子求出来的，那么他的值是怎么得出的呢？看上图的第二层，第二层表明了d(0,{1,2,3})所需依赖的值。那么得出：</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d(0,{1,2,3})=min&nbsp; {</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C01+d(1,{2,3})</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C02+d{2,{1,3}}</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C03+d{3,{1,2}}</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp; &#9314;d(1,{2,3})，d(2,{1,3})，d(3,{1,2})同样也不是一步就能求出来的，它们的解一样需要有依赖，就比如说d(1,{2,3})</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d(1,{2,3})=min{</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C12+d(2,{3})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C13+d(3,{2})</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d(2,{1,3})，d(3,{1,2})同样需要这么求。</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp; &#9315;按照上面的思路，只有最后一层的，当当V&#8217;为空集时，Cis的值才可以求，它的值是直接从</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;"><a href="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_4.gif" style="margin: 0px; padding: 0px; color: #336699; text-decoration: initial;"><img title="image" src="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_thumb_1.gif" border="0" alt="image" width="240" height="187" style="margin: 0px; padding: 0px; border: 0px none; display: inline;" /></a></p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">这张表里求得的。</p><h1><a name="t4" style="margin: 0px; padding: 0px; color: rgb(51, 102, 153);"></a>&nbsp;&nbsp;&nbsp;&nbsp; 5.编程思路</h1><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将d(i, V&#8217;)转换成二维表，d[i][j]</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;"><a href="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_4.png" style="margin: 0px; padding: 0px; color: #336699; text-decoration: initial;"><img title="image" src="http://p.blog.csdn.net/images/p_blog_csdn_net/gfaiswl/612517/o_image_thumb_1.png" border="0" alt="image" width="519" height="159" style="margin: 0px; padding: 0px; border: 0px none; display: inline;" /></a></p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在程序中模拟填表的过程，主要要考虑到j这个参数的表示，它要代表一个集合，可以用二维数组来表示。</p><h1><a name="t5" style="margin: 0px; padding: 0px; color: rgb(51, 102, 153);"></a>&nbsp;&nbsp; 6.源代码</h1><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">注：由于本人水平有限，并且主要在这里是体现思路，所以程序并不是很完善，代码质量也不高，很地方可以写得通用一些，所以这里只是提供一个参考，程序的进一步完善，由读者自由发挥。</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">#include&nbsp;<br style="margin: 0px; padding: 0px;" />#include</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">int IsIncluded(int x,int array[3])//x是否包含在数组中&nbsp;<br style="margin: 0px; padding: 0px;" />{&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; if((array[0] != x) &amp;&amp; (array[1] != x) &amp;&amp; (array[2] != x))&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; return 1;&nbsp;<br style="margin: 0px; padding: 0px;" />}&nbsp;<br style="margin: 0px; padding: 0px;" />int Left(int k,int array[3],int V[8][3])//实现V'-{k} 的下标检索&nbsp;<br style="margin: 0px; padding: 0px;" />{&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int i = 0,index = 0,array_0_count = 0,array_1_count = 0,array_2_count = 0,array_3_count = 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int V_0_count = 0,V_1_count = 0,V_2_count = 0,V_3_count = 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int temp[3];&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; for(i = 0; i &lt; 3; i++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp[i] = array[i];&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; for(i = 0; i &lt; 3; i++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(temp[i] == k)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp[i] = 0;&nbsp; //相当于去掉k这个城市&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; for(i = 0; i &lt; 3; i++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(temp[i] == 0)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array_0_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(temp[i] == 1)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array_1_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(temp[i] == 2)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array_2_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array_3_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; }&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; for(index = 0; index &lt; 8; index++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0; i &lt; 3; i++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(V[index][i] == 0)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_0_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(V[index][i] == 1)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_1_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(V[index][i] == 2)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_2_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_3_count++;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((array_0_count == V_0_count) &amp;&amp; (array_1_count == V_1_count)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; (array_2_count == V_2_count) &amp;&amp; (array_3_count == V_3_count))&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return index;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_0_count = 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_1_count = 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_2_count = 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V_3_count = 0;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; }&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; return 0;&nbsp;<br style="margin: 0px; padding: 0px;" />}</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">void TSP(int d[4][8],int c[4][4],int V[8][3],int n)&nbsp;<br style="margin: 0px; padding: 0px;" />{&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int i = 0,j = 0,k = 0;</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp; for(i = 1; i &lt; n; i++)//V'为空时，给赋值，&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d[i][0] = c[i][0];</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp; for(j = 1; j &lt; 7; j++)//按列遍历不同集合，{1},{2},{3},{1,2},{1,3}.....&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i = 1; i &lt; n; i++)//遍历城市1，2，3&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( !IsIncluded(i,V[j]) )//i必须不在集合中，否则就属于经过两次，不符合题意&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(k = 0; k &lt; 3; k++)//分别试探集合中的每一点，取最小值&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((V[j][k] != 0) &amp;&amp; ((c[i][V[j][k]] + d[V[j][k]][Left(V[j][k],V[j],V)]) &lt; d[i][j]))&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d[i][j] = c[i][V[j][k]] + d[V[j][k]][Left(V[j][k],V[j],V)];&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }//end of&nbsp;&nbsp;&nbsp;&nbsp; for(i = 1; i &lt; n; i++)//遍历城市1，2，3&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; }//end of for(j = 1; j &lt; ((int)pow(2,n)-1); j++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; for(k = 0; k &lt; 3; k++)//分别试探下一步为集合中的任何一点，取最小值&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((V[7][k] != 0) &amp;&amp; (c[0][V[7][k]] + d[V[7][k]][Left(V[7][k],V[7],V)]) &lt; d[0][7])&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d[0][7] = c[0][V[7][k]] + d[V[7][k]][Left(V[7][k],V[7],V)];&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; }&nbsp;<br style="margin: 0px; padding: 0px;" />}&nbsp;<br style="margin: 0px; padding: 0px;" />void main()&nbsp;<br style="margin: 0px; padding: 0px;" />{&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int V[8][3]=&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,0,0,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,0,1,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,0,2,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,0,3,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,1,2,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,1,3,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,2,3,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1,2,3&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; };&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int c[4][4]=&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; {&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,3,6,7,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5,0,2,3,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6,4,0,2,&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3,7,5,0&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; };&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; int d[4][8]={0},i=0,j=0;</p><p style="margin: 0px; padding: 0px; color: #333333; font-family: Arial; line-height: 26px;">&nbsp;&nbsp;&nbsp; for(i=0; i&lt;4; i++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j=0; j&lt;8; j++)&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d[i][j]=1000;&nbsp;&nbsp; //假设1000为无穷大&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; TSP(d,c,V,4);&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp; printf("The least road is:%d/n",d[0][7]);&nbsp;<br style="margin: 0px; padding: 0px;" />}</p><img src ="http://www.cppblog.com/luyulaile/aggbug/198974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2013-03-31 05:26 <a href="http://www.cppblog.com/luyulaile/archive/2013/03/31/198974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>矩阵乘法的意义</title><link>http://www.cppblog.com/luyulaile/archive/2012/12/05/196013.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 05 Dec 2012 10:44:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/12/05/196013.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/196013.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/12/05/196013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/196013.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/196013.html</trackback:ping><description><![CDATA[<div> <img src="file:///C:\users\yilu\AppData\Tencent\Users\349826924\QQ\WinTemp\RichOle\{NB9CE}[L5OABB`L$N7RJK3.jpg" alt="" /><img src="file:///C:\users\yilu\AppData\Tencent\Users\349826924\QQ\WinTemp\RichOle\{NB9CE}[L5OABB`L$N7RJK3.jpg" alt="" /><img src="http://www.cppblog.com/images/cppblog_com/luyulaile/未命名12.5.jpg" border="0" alt="" width="893" height="563" /><br />相当于A(B <strong>x</strong>)&nbsp;<br /></div><img src ="http://www.cppblog.com/luyulaile/aggbug/196013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-12-05 18:44 <a href="http://www.cppblog.com/luyulaile/archive/2012/12/05/196013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python extract all comments:提取所有comments,提取c/c++中注释Python脚本</title><link>http://www.cppblog.com/luyulaile/archive/2012/12/03/195907.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Mon, 03 Dec 2012 00:35:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/12/03/195907.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/195907.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/12/03/195907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/195907.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/195907.html</trackback:ping><description><![CDATA[注意，我们只是简单的提取// 以及/* */之间的内容。<br />如果 程序中出现了&#8220;/*&#8221;,会有bug<br /><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">!/usr/bin/env&nbsp;python</span><span style="color: #008000; "><br /></span><br /><span style="color: #0000FF; ">import</span>&nbsp;sys<br /><span style="color: #0000FF; ">import</span>&nbsp;re<br /><br /><span style="color: #0000FF; ">def</span>&nbsp;comment_finder(text):<br />&nbsp;&nbsp;&nbsp;&nbsp;pattern&nbsp;=&nbsp;re.compile(&nbsp;r<span style="color: #800000; ">'</span><span style="color: #800000; ">//.*?$|/\*.*?\*/</span><span style="color: #800000; ">'</span>,&nbsp;re.DOTALL&nbsp;|&nbsp;re.MULTILINE)<br />&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;pattern.findall(text)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;result<br /><br /><span style="color: #0000FF; ">def</span>&nbsp;print_command(filename):<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;codefile&nbsp;=&nbsp;open(filename,<span style="color: #800000; ">'</span><span style="color: #800000; ">r</span><span style="color: #800000; ">'</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;commentfile&nbsp;=&nbsp;open(filename+<span style="color: #800000; ">"</span><span style="color: #800000; ">.txt</span><span style="color: #800000; ">"</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">w</span><span style="color: #800000; ">'</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;lines=codefile.read()<br />&nbsp;&nbsp;&nbsp;&nbsp;codefile.close()<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">the&nbsp;list&nbsp;of&nbsp;comments</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;list_of_comments&nbsp;=&nbsp;comment_finder(lines)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;comment&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;list_of_comments:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;comment[0:2]</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;comment[0:2]&nbsp;==&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">//</span><span style="color: #800000; ">"</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comment_to_write&nbsp;=&nbsp;comment[2:]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">else</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comment_to_write&nbsp;=&nbsp;comment[2:-2]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;len(comment_to_write)!=0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commentfile.write(comment_to_write)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commentfile.write(<span style="color: #800000; ">'</span><span style="color: #800000; ">\n</span><span style="color: #800000; ">'</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;commentfile.close()<br /><br /><span style="color: #0000FF; ">if</span>&nbsp;<span style="color: #800080; ">__name__</span>&nbsp;==&nbsp;<span style="color: #800000; ">"</span><span style="color: #800000; ">__main__</span><span style="color: #800000; ">"</span>:<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;filename&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;sys.argv[1:]:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print_command(filename)</div>使用：<br /><br /><div>在linux下面 转到当前目录 ./get_comment.py *<br />或者 指定文件类型<br /><div>./get_comment.py *.c</div><div></div></div><div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/195907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-12-03 08:35 <a href="http://www.cppblog.com/luyulaile/archive/2012/12/03/195907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 表格</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/22/195518.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 21 Nov 2012 17:07:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/22/195518.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/195518.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/22/195518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/195518.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/195518.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->\begin{tabular}{|c|c|c|c|c|c|}<br />\hline&nbsp;<br />Accuracy&nbsp;&amp;&nbsp;General&nbsp;&amp;&nbsp;test&nbsp;1&nbsp;&amp;&nbsp;test&nbsp;2&nbsp;&amp;&nbsp;test&nbsp;3&nbsp;&amp;&nbsp;test&nbsp;4\tabularnewline<br />\hline&nbsp;<br /><br />Linear&nbsp;&nbsp;&amp;&nbsp;0.8950695&nbsp;&nbsp;&amp;&nbsp;0.8817864&nbsp;&amp;&nbsp;0.8884132&nbsp;&nbsp;&amp;&nbsp;0.8884036&nbsp;&nbsp;&amp;&nbsp;0.9217801<br />\tabularnewline<br />\hline&nbsp;<br /><br />Polynomial&nbsp;Degree=2&nbsp;&amp;&nbsp;0.927821&nbsp;&nbsp;&amp;&nbsp;0.9118337&nbsp;&amp;&nbsp;0.934325&nbsp;&amp;&nbsp;0.913003&nbsp;&amp;<br />0.9335226\tabularnewline<br />\hline&nbsp;<br />Polynomial&nbsp;Degree=2&nbsp;&amp;&nbsp;0.8350725&nbsp;&nbsp;&amp;&nbsp;0.8317865&nbsp;&amp;&nbsp;0.8285052&nbsp;&nbsp;&amp;&nbsp;0.8278306&nbsp;&nbsp;&amp;<br />0.852091<br />\tabularnewline<br />\hline&nbsp;<br />Polynomial&nbsp;Degree=3&nbsp;&amp;&nbsp;0.770894&nbsp;&amp;&nbsp;0.7539803&nbsp;&nbsp;&amp;&nbsp;0.7510282&nbsp;&amp;&nbsp;&nbsp;0.7762011&nbsp;&amp;<br />0.7821553\tabularnewline<br />\hline&nbsp;<br />Polynomial&nbsp;Degree=4&nbsp;&amp;&nbsp;0.7172013&nbsp;&amp;&nbsp;0.685079&nbsp;&amp;&nbsp;0.6988003&nbsp;&amp;&nbsp;0.7329987&nbsp;&amp;<br />0.7520278\tabularnewline<br /><br />\hline&nbsp;<br />\end{tabular}<br /><br /><br />=========================<br /><br /><br /><div style="margin: 0px; word-wrap: break-word; color: #333333; font-family: Tahoma, Helvetica, SimSun, sans-serif, Hei; font-size: 14px; line-height: 25px; background-color: #ffffff; "><ul style="margin: 1em 2em; padding: 0px; word-wrap: break-word; "><li style="margin: 0px; padding: 0px; word-wrap: break-word; list-style: disc; "><div style="margin: 0px; word-wrap: break-word; ">Type one:</div></li></ul><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%简单表格%%%%%%%%%%</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{tabular}{|c|c|}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">a &amp; b \\\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">c &amp; d\\</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{tabular}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; "></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">&nbsp;</p><ul style="margin: 1em 2em; padding: 0px; word-wrap: break-word; "><li style="margin: 0px; padding: 0px; word-wrap: break-word; list-style: disc; "><div style="margin: 0px; word-wrap: break-word; ">Type two:</div></li></ul><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%简单表格,居中(一)%%%%%%%%%%</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{center}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{tabular}{|c|c|}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">a &amp; b \\\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">c &amp; d\\</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{tabular}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{center}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; "></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; "></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">&nbsp;</p><ul style="margin: 1em 2em; padding: 0px; word-wrap: break-word; "><li style="margin: 0px; padding: 0px; word-wrap: break-word; list-style: disc; "><div style="margin: 0px; word-wrap: break-word; ">Type three:</div></li></ul><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%简单表格,居中（二）%%%%%%%%%%</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\centering</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{tabular}{|c|c|}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">a &amp; b \\\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">c &amp; d\\</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{tabular}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; "></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; "></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">This a Table~<span id="MathJax-Element-1-Frame" role="textbox" aria-readonly="true" style="margin: 0px; padding: 0px; word-wrap: normal; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; border: 0px; "><nobr style="margin: 0px; padding: 0px; word-wrap: break-word; border: 0px; max-width: none; max-height: none; vertical-align: 0px; "><span id="MathJax-Span-1" style="margin: 0px; padding: 0px; word-wrap: break-word; display: inline; position: static; border: 0px; vertical-align: 0px; float: none; "><span style="margin: 0px; padding: 0px; word-wrap: break-word; display: inline-block; position: relative; border: 0px; vertical-align: 0px; width: 16px; height: 0px; font-size: 18px; "><span style="margin: 0px; padding: 0px; word-wrap: break-word; position: absolute; border: 0px; vertical-align: 0px; clip: rect(23px 18480px 42px -9px); top: -39px; left: 0px; "><span id="MathJax-Span-2" style="margin: 0px; padding: 0px; word-wrap: break-word; display: inline; position: static; border: 0px; vertical-align: 0px; float: none; "><a href="http://blog.sciencenet.cn/#mjx-eqn-tabtable" style="margin: 0px; padding: 0px; word-wrap: break-word; color: #3c384f; text-decoration: none; border: 0px; max-width: none; max-height: none; vertical-align: 0px; "><span mathjax_ref"="" id="MathJax-Span-3" style="margin: 0px; padding: 0px; word-wrap: break-word; display: inline; position: static; border: 0px; vertical-align: 0px; float: none; "><span id="MathJax-Span-4" style="margin: 0px; padding: 0px; word-wrap: break-word; display: inline; position: static; border: 0px; vertical-align: 0px; float: none; font-family: MathJax_Main; ">??</span></span></a></span></span></span></span></nobr></span></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; "></p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">&nbsp;</p><ul style="margin: 1em 2em; padding: 0px; word-wrap: break-word; "><li style="margin: 0px; padding: 0px; word-wrap: break-word; list-style: disc; "><div style="margin: 0px; word-wrap: break-word; ">Type four:</div></li></ul><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%简单表格,居中,标题，编号,固定位置%%%%%%%%%%</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{table}[h]</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\centering</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\caption{table}\label{tab:table}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{tabular}{|c|c|}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">a &amp; b \\\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">c &amp; d\\</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{tabular}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{table}</p><ul style="margin: 1em 2em; padding: 0px; word-wrap: break-word; "><li style="margin: 0px; padding: 0px; word-wrap: break-word; list-style: disc; "><div style="margin: 0px; word-wrap: break-word; ">Type five:</div></li></ul><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%一个完整的例子%%%%%%%%%%</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%%%%%%%%%%%Beginning of Table example%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{table}[ht]</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\caption{Review paper} % title of Table</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\centering % used for centering table</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\begin{tabular}{|c|c|} % centered columns (2 columns)</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline\hline %inserts double horizontal lines</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">Item 1 &amp; Item 2 \\ [0.5ex] % inserts table heading</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline % inserts single horizontal line</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">a &amp; b \\ % inserting body of the table</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">c &amp; d \\</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">e &amp; f \\[1.5ex] % [1.5ex] adds vertical space</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\hline %inserts single line</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{tabular}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\label{table:nonlin} % is used to refer this table in the text</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">\end{table}</p><p style="margin: 0px; padding: 0px; word-wrap: break-word; ">%%%%%%%%%%%%%%%%%% end of the example%%%%%%%%%%%%%%%%%%%%%%%%%</p></div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/195518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-22 01:07 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/22/195518.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 字符串比较</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/22/195517.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 21 Nov 2012 16:44:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/22/195517.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/195517.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/22/195517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/195517.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/195517.html</trackback:ping><description><![CDATA[原文：<a href="http://www.cnblogs.com/tonyqus/archive/2004/12/07/73710.html">http://www.cnblogs.com/tonyqus/archive/2004/12/07/73710.html</a>&nbsp;<span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; "></span><br /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; "><br /><br />熟悉C++的人对于两个字符串比较的代码一定很了解：&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">(string1==string2)&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">但在java中，这个代码即使在两个字符串完全相同的情况下也会返回false&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">Java中必须使用string1.equals(string2)来进行判断&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><strong style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">补充</strong>&nbsp;<br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">如果：&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">string s1=new String("Hello");&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">string s2=new String("Hello");&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">则(s1==s2)=false&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">如果：&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">string s1="Hello";&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">string s2="Hello";&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">则(s1==s2)=true;&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">因为他们指向的同一个对象。&nbsp;</span><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><br style="margin: 0px; padding: 0px; color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; " /><span style="color: #393939; font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; background-color: #faf7ef; ">如果把其他变量的值赋给s1和s2，即使内容相同，由于不是指向同一个对象，也会返回false。所以建议使用equals()，因为equals比较的才是真正的内容&nbsp;</span><img src ="http://www.cppblog.com/luyulaile/aggbug/195517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-22 00:44 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/22/195517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 多个图片</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/16/195250.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Thu, 15 Nov 2012 19:43:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/16/195250.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/195250.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/16/195250.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/195250.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/195250.html</trackback:ping><description><![CDATA[<div><div>\usepackage{subfigure}</div>注意不用用 {subfig}<br />\begin{figure}[ht]</div><div>\centering</div><div>\subfigure[$\alpha$=0.5,$\gamma$=0.9,$\epsilon$=0.01]{</div><div>&nbsp; &nbsp;\includegraphics[width=4.4in] {2.png}</div><div>&nbsp;}</div><div>&nbsp;\subfigure[$\alpha$=0.7,$\gamma$=0.9,$\epsilon$=0.01]{</div><div>&nbsp; &nbsp;\includegraphics[width=4.4in] {3.png}</div><div>&nbsp;}</div><div>&nbsp;\subfigure[$\alpha$=0.9,$\gamma$=0.9,$\epsilon$=0.01]{</div><div>&nbsp; &nbsp;\includegraphics[width=4.4in] {4.png}</div><div>&nbsp;}</div><div>&nbsp;\subfigure[$\alpha$=0.7,$\gamma$=0.9,$\epsilon$=0.1]{</div><div>&nbsp; &nbsp;\includegraphics[width=4.4in] {5.png}</div><div>&nbsp;}</div><div>&nbsp;\subfigure[$\alpha$=0.7,$\gamma$=0.9,$\epsilon$=0.2]{</div><div>&nbsp; &nbsp;\includegraphics[width=4.4in] {6.png}</div><div>&nbsp;}</div><div>&nbsp;\subfigure[$\alpha$=0.7,$\gamma$=0.6,$\epsilon$=0.01]{</div><div>&nbsp; &nbsp;\includegraphics[width=4.4in] {1.png}</div><div>&nbsp;}</div><div>\end{figure}</div><div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/195250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-16 03:43 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/16/195250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python 笔记 pi  tan 等公式</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/08/194861.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Thu, 08 Nov 2012 00:21:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/08/194861.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194861.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/08/194861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194861.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194861.html</trackback:ping><description><![CDATA[<div style="text-align: justify;"><div>import math<br />def mianji(n,s):</div><div>&nbsp; &nbsp; temp=1/4*n*(s**2)/math.tan(math.pi/n)</div><div>&nbsp; &nbsp; return temp</div><div>print mianji(5,7)<br />============<br />使用时math.pi math.tan</div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/194861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-08 08:21 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/08/194861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python 生成随机数</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/08/194859.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 07 Nov 2012 22:56:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/08/194859.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194859.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/08/194859.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194859.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194859.html</trackback:ping><description><![CDATA[<blockquote style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 10px; padding-bottom: 1px; border: 0px; vertical-align: baseline; background-color: #eeeeee; quotes: none; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; "><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word; "><code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; "><table cellspacing="0" cellpadding="0" style="word-wrap: break-word; empty-cells: show; border-collapse: collapse; table-layout: fixed; width: 1119px; color: #000000; font-family: song, Verdana; font-size: 12px; text-align: start; background-color: #ffffff; "><tbody style="word-wrap: break-word; "><tr style="word-wrap: break-word; "><td id="postmessage_8263409" style="word-wrap: break-word; font-size: 14px; line-height: 1.6em; ">import random<br style="word-wrap: break-word; " /><br style="word-wrap: break-word; " />a=random.randint(0,1001)#这个生成的区间是 [0,1001]<br />a=random.randrange(0,10001)#生成的是区间是[0,1001)<br style="word-wrap: break-word; " /><br style="word-wrap: break-word; " />print a</td></tr></tbody></table><br /><br /><br />random.randrange([start], stop[, step])</code></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word; ">Return a randomly selected element from&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">range(start, stop, step)</code>.&nbsp;<strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; ">This is equivalent to<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">choice(range(start, stop, step))</code></strong>, but doesn&#8217;t actually build a range object.</p></blockquote><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; ">And range(start, stop) returns&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; background-color: #eeeeee; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">[start, start+step, ..., stop-1]</code>, not&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; background-color: #eeeeee; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">[start, start+step, ..., stop]</code>. As for why... zero-based counting rules and&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; background-color: #eeeeee; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">range(n)</code>&nbsp;should return n elements, I suppose. Most useful for getting a random index, I suppose.</p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; ">While randint is documented as:</p><blockquote style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 10px; padding-bottom: 1px; border: 0px; vertical-align: baseline; background-color: #eeeeee; quotes: none; color: #000000; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; "><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word; "><code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">random.randint(a, b)</code></p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; clear: both; word-wrap: break-word; ">Return a random integer N such that&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">a &lt;= N &lt;= b</code>.&nbsp;<strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; ">Alias for&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">randrange(a, b+1)</code></strong></p></blockquote><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; ">So randint is for when you have the maximum and minimum value for the random number you want.</p><img src ="http://www.cppblog.com/luyulaile/aggbug/194859.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-08 06:56 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/08/194859.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python 笔记2 //</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/08/194858.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 07 Nov 2012 22:43:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/08/194858.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194858.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/08/194858.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194858.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194858.html</trackback:ping><description><![CDATA[Python &nbsp;&#8220;&#8221; &#8216;&#8217; 都可以表示字符串&nbsp;<br /><br /><h5>s1 = "hello,world"&nbsp;<br />如果要写成多行，那么就要使用/ (&#8220;连行符&#8221;)吧，如&nbsp;<br />s2 = "hello,/&nbsp;<br />world"&nbsp;<br />s2与s1是一样的。如果你用3个双引号的话，就可以直接写了，如下：&nbsp;<br />s3 = """hello,&nbsp;<br />world,&nbsp;<br />hahaha."""，那么s3实际上就是"hello,/nworld,/nhahaha.", 注意&#8220;/n&#8221;</h5><br /><strong style="font-family: Arial; line-height: 26px; background-color: #ffffff; ">s5 = "Let's go"&nbsp;</strong>&nbsp;<br /><strong style="font-family: Arial; line-height: 26px; background-color: #ffffff; ">s4 = 'Let/'s go'</strong>&nbsp;<br /><br />我们也可以把''' &nbsp;''' 作为多行注释<br /><br /><span style="color: #222222; font-family: arial, sans-serif; font-size: small; line-height: 17.77777862548828px; background-color: #ffffff; ">str(object)</span>&nbsp;可以将所有转化为字符串。<br /><br /><br /><table width="496" style="color: #becdcd; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.200000762939453px; text-align: left; background-color: #3c4e4e; width: 496px; height: 323px; "><tbody><tr><td style="font-size: 1em; "><strong>python</strong></td><td style="font-size: 1em; "><strong>java</strong></td><td style="font-size: 1em; "><strong>描述</strong></td></tr><tr><td style="font-size: 1em; ">or</td><td style="font-size: 1em; ">||</td><td style="font-size: 1em; ">逻辑或</td></tr><tr><td style="font-size: 1em; ">and</td><td style="font-size: 1em; ">&amp;&amp;</td><td style="font-size: 1em; ">逻辑与</td></tr><tr><td style="font-size: 1em; ">not</td><td style="font-size: 1em; ">！</td><td style="font-size: 1em; ">逻辑非</td></tr><tr><td style="font-size: 1em; ">&lt;，&gt;，&lt;=，&gt;=，==，!=或&lt;&gt;</td><td style="font-size: 1em; ">&lt;，&gt;，&lt;=，&gt;=，==，!=</td><td style="font-size: 1em; ">比较操作</td></tr><tr><td style="font-size: 1em; ">is，is not</td><td style="font-size: 1em; ">instanceof</td><td style="font-size: 1em; ">身份认证</td></tr><tr><td style="font-size: 1em; ">|</td><td style="font-size: 1em; ">|</td><td style="font-size: 1em; ">位或</td></tr><tr><td style="font-size: 1em; ">&amp;</td><td style="font-size: 1em; ">&amp;</td><td style="font-size: 1em; ">位与</td></tr><tr><td style="font-size: 1em; ">^</td><td style="font-size: 1em; ">^</td><td style="font-size: 1em; ">位异或</td></tr><tr><td style="font-size: 1em; ">&lt;&lt;，&gt;&gt;</td><td style="font-size: 1em; ">&lt;&lt;，&gt;&gt;</td><td style="font-size: 1em; ">移位</td></tr><tr><td style="font-size: 1em; ">+，-，*，/</td><td style="font-size: 1em; ">+，-，*，/</td><td style="font-size: 1em; ">加减乘除</td></tr><tr><td style="font-size: 1em; ">%</td><td style="font-size: 1em; ">%</td><td style="font-size: 1em; ">余数</td></tr><tr><td style="font-size: 1em; ">~</td><td style="font-size: 1em; ">~</td><td style="font-size: 1em; ">位取补</td></tr></tbody></table><br /><br />//运算符 &nbsp;<br />10/3==3<br />120//10==12<br />121//10==12<br />122//10==12<br />130//10==13<br />10//3.0==3.0<br /><br /><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; ">A new operator, //, is the floor division operator. (Yes, we know it&nbsp;</span><br style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; " /><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; ">looks like C++'s comment symbol.) // always performs floor division no&nbsp;</span><br style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; " /><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; ">matter what the types of its operands are, so 1 // 2 is 0 and 1.0 //&nbsp;</span><br style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; " /><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; background-color: #ffffff; ">2.0 is also 0.0.</span>&nbsp;<br /><br />not ()<br /><img src ="http://www.cppblog.com/luyulaile/aggbug/194858.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-08 06:43 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/08/194858.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 多行公式</title><link>http://www.cppblog.com/luyulaile/archive/2012/11/06/194700.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Mon, 05 Nov 2012 22:29:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/11/06/194700.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194700.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/11/06/194700.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194700.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194700.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->\newcommand{\parenthnewln}[1]{\right.\\<span style="color: #008000; ">#</span><span style="color: #008000; ">1&amp;\left.{}}</span><span style="color: #008000; "><br /></span>\begin{equation}<br />\begin{split}<br />f(x)=1+&amp;g(x)\\<br />=1+&amp;\left(x+x^2+\dots<br />\parenthnewln{+}x^n+\ldots\right)<br />\end{split}<br />\end{equation}</div><br />得到：<br /><img src="http://www.cppblog.com/images/cppblog_com/luyulaile/未命名.jpg" border="0" alt="" width="226" height="89" /><br /><div> <img src="file:///C:\Users\yilu\AppData\Roaming\Tencent\Users\349826924\QQ\WinTemp\RichOle\P72YO9@${ZVI[T@@GCFXONX.jpg"  alt="" /></div><img src ="http://www.cppblog.com/luyulaile/aggbug/194700.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-11-06 06:29 <a href="http://www.cppblog.com/luyulaile/archive/2012/11/06/194700.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 中插入代码</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/31/194135.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 31 Oct 2012 13:30:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/31/194135.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194135.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/31/194135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194135.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194135.html</trackback:ping><description><![CDATA[<h2><span id="Typesetting_using_the_algorithm2e_package"><a href="http://en.wikibooks.org/wiki/LaTeX/Algorithms_and_Pseudocode">http://en.wikibooks.org/wiki/LaTeX/Algorithms_and_Pseudocode</a>&nbsp;<br />Typesetting using the&nbsp;<tt style="font-family: monospace, Courier; ">algorithm2e</tt>&nbsp;package</span></h2><p style="margin: 0.4em 0px 0.5em; line-height: 19.200000762939453px; font-family: sans-serif; font-size: 13px; background-color: #ffffff; ">The&nbsp;<tt style="font-family: monospace, Courier; ">algorithm2e</tt>&nbsp;package (first released 1995, latest updated December 2009 according to the&nbsp;<a rel="nofollow"  text"="" href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/algorithm2e/algorithm2e.pdf" target="_blank" style="text-decoration: none; color: #663366; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAATklEQVR4XmXKQQqAMAwF0X/7XsSz9CSKiyIIFRFcjMmihmiGbB5fqDCaQJ4j46pzYLUWe+cXZ6OVBhTS0srY2Njp/+XxXXZOLu6EUWAOPX1vnwTBe6qQAAAAAElFTkSuQmCC); padding-right: 13px; background-position: 100% 50%; background-repeat: no-repeat no-repeat; ">v4.01 manual</a>) allows typesetting algorithms with a lot of customization. The package is loaded like</p><div dir="ltr" mw-code=""  mw-content-ltr"="" style="font-family: monospace, Courier; direction: ltr; padding: 1em; border: 1px dashed #2f6fab; background-color: #f9f9f9; line-height: 1.1em; font-size: 13px; "><div source-latex"="" style="line-height: normal; font-family: monospace; "><pre style="padding: 0px; border: 0px none white; line-height: 1.2em; font-size: 1em; margin-top: 0px; margin-bottom: 0px; background-image: none; vertical-align: top; "><span style="color: #e02020; ">\</span><span style="color: #800000; ">usepackage</span><span style="color: #e02020; ">[</span><span style="color: #c08020; ">options</span><span style="color: #e02020; ">]{</span><span style="color: #2020c0; ">algorithm2e</span><span style="color: #e02020; ">}</span> </pre></div></div><p style="margin: 0.4em 0px 0.5em; line-height: 19.200000762939453px; font-family: sans-serif; font-size: 13px; background-color: #ffffff; ">and a simple example, taken from the v4.01 manual, is</p><div dir="ltr" mw-code=""  mw-content-ltr"="" style="font-family: monospace, Courier; direction: ltr; padding: 1em; border: 1px dashed #2f6fab; background-color: #f9f9f9; line-height: 1.1em; font-size: 13px; "><div source-latex"="" style="line-height: normal; font-family: monospace; "><pre style="padding: 0px; border: 0px none white; line-height: 1.2em; font-size: 1em; margin-top: 0px; margin-bottom: 0px; background-image: none; vertical-align: top; "><div style="background-color: #eeeeee; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->\begin{algorithm}[H]<br />&nbsp;\SetAlgoLined<br />&nbsp;\KwData{this&nbsp;text}<br />&nbsp;\KwResult{how&nbsp;to&nbsp;write&nbsp;algorithm&nbsp;with&nbsp;\LaTeX2e&nbsp;}<br />&nbsp;initialization\;<br />&nbsp;\While{<span style="color: #0000FF; ">not</span>&nbsp;at&nbsp;end&nbsp;of&nbsp;this&nbsp;document}{<br />&nbsp;&nbsp;read&nbsp;current\;<br />&nbsp;&nbsp;\eIf{understand}{<br />&nbsp;&nbsp;&nbsp;go&nbsp;to&nbsp;next&nbsp;section\;<br />&nbsp;&nbsp;&nbsp;current&nbsp;section&nbsp;becomes&nbsp;this&nbsp;one\;<br />&nbsp;&nbsp;&nbsp;}{<br />&nbsp;&nbsp;&nbsp;go&nbsp;back&nbsp;to&nbsp;the&nbsp;beginning&nbsp;of&nbsp;current&nbsp;section\;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;\caption{How&nbsp;to&nbsp;write&nbsp;algorithms}<br />\end{algorithm}</div></pre></div></div><p style="margin: 0.4em 0px 0.5em; line-height: 19.200000762939453px; font-family: sans-serif; font-size: 13px; background-color: #ffffff; ">which produces&nbsp;<a href="http://commons.wikimedia.org/wiki/File:Latex-algorithm2e-if-else.png" style="text-decoration: none; color: #0b0080; background-image: none; background-position: initial initial; background-repeat: initial initial; "><img alt="Latex-algorithm2e-if-else.png" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Latex-algorithm2e-if-else.png/300px-Latex-algorithm2e-if-else.png" width="300" height="181" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Latex-algorithm2e-if-else.png/450px-Latex-algorithm2e-if-else.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Latex-algorithm2e-if-else.png/600px-Latex-algorithm2e-if-else.png 2x" style="border: none; vertical-align: middle; margin: 0px; " /></a></p><img src ="http://www.cppblog.com/luyulaile/aggbug/194135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-31 21:30 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/31/194135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 中插入代码</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/31/194134.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 31 Oct 2012 13:25:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/31/194134.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194134.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/31/194134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194134.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194134.html</trackback:ping><description><![CDATA[<p style="margin: 0px 0px 1em; padding: 0px; border: 0px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; "><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->\usepackage{listings}<br />\usepackage{color}<br /><br />\definecolor{dkgreen}{rgb}{0,0.6,0}<br />\definecolor{gray}{rgb}{0.5,0.5,0.5}<br />\definecolor{mauve}{rgb}{0.58,0,0.82}<br /><br />\lstset{frame=tb,<br />&nbsp;&nbsp;language=Java,<br />&nbsp;&nbsp;aboveskip=3mm,<br />&nbsp;&nbsp;belowskip=3mm,<br />&nbsp;&nbsp;showstringspaces=false,<br />&nbsp;&nbsp;columns=flexible,<br />&nbsp;&nbsp;basicstyle={\small\ttfamily},<br />&nbsp;&nbsp;numbers=none,<br />&nbsp;&nbsp;numberstyle=\tiny\color{gray},<br />&nbsp;&nbsp;keywordstyle=\color{blue},<br />&nbsp;&nbsp;commentstyle=\color{dkgreen},<br />&nbsp;&nbsp;stringstyle=\color{mauve},<br />&nbsp;&nbsp;breaklines=true,<br />&nbsp;&nbsp;breakatwhitespace=true<br />&nbsp;&nbsp;tabsize=3<br />}<br />================<br /><br /><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; ">You can change default language in the middle of document with&nbsp;<code style="margin: 0px; padding: 1px 5px; border: 0px; vertical-align: baseline; background-color: #eeeeee; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; ">\lstset{language=Java}</code>.</p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; ">Example of usage in the document:</p><div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->\begin{lstlisting}<br />//&nbsp;Hello.java<br /><span style="color: #0000FF; ">import</span>&nbsp;javax.swing.JApplet;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.awt.Graphics;<br /><br />public&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;Hello&nbsp;extends&nbsp;JApplet&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;paintComponent(Graphics&nbsp;g)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawString(<span style="color: #800000; ">"</span><span style="color: #800000; ">Hello,&nbsp;world!</span><span style="color: #800000; ">"</span>,&nbsp;65,&nbsp;95);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />}</div><pre style="margin-top: 0px; margin-bottom: 10px; padding: 5px; border: 0px; font-size: 14px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow: auto; width: auto; max-height: 600px; "><code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; "><span style="font-size: 13px; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; ">\end{lstlisting}</span> </code></pre><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; background-color: #ffffff; clear: both; word-wrap: break-word; ">Here's the result:</p></div></p><img src ="http://www.cppblog.com/luyulaile/aggbug/194134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-31 21:25 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/31/194134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>label switching</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/31/194109.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Tue, 30 Oct 2012 19:36:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/31/194109.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/194109.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/31/194109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/194109.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/194109.html</trackback:ping><description><![CDATA[label switching:<br />比如有两箱苹果： 第一个箱子内有两个苹果，label 为a 的概率为30%,为b的概率70%，第二个箱子内有四个苹果，label为b的概率40%,label 为a的概率60%.<br />如果我们求所有的苹果的重量，只需要将所有的箱子内的苹果取出来求重量即刻。<br />但是我们先求label a的箱子苹果的重量，加上label b的箱子苹果的重量，可能出现两次取的是同一个箱子，这就是label switching问题。<img src ="http://www.cppblog.com/luyulaile/aggbug/194109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-31 03:36 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/31/194109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python generate corpus using Dirichlet distribution</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/28/193960.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Sun, 28 Oct 2012 02:13:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/28/193960.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193960.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/28/193960.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193960.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193960.html</trackback:ping><description><![CDATA[<div>At first, let's define the sample function:<br /><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">def</span>&nbsp;sample(dist,&nbsp;num_samples=1):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;Uses&nbsp;the&nbsp;inverse&nbsp;CDF&nbsp;method&nbsp;to&nbsp;return&nbsp;samples&nbsp;drawn&nbsp;from&nbsp;an<br />&nbsp;&nbsp;&nbsp;&nbsp;(unnormalized)&nbsp;discrete&nbsp;distribution.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Arguments:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;dist&nbsp;--&nbsp;(unnormalized)&nbsp;distribution<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Keyword&nbsp;arguments:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;num_samples&nbsp;--&nbsp;number&nbsp;of&nbsp;samples&nbsp;to&nbsp;draw<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;cdf&nbsp;=&nbsp;cumsum(dist)<br />&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;uniform(size=num_samples)&nbsp;*&nbsp;cdf[-1]<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;cdf.searchsorted(r)</div>As we can see, the sample function input two parameters, one is dist, which can be an un-normalized distribution, another is the sample we want to draw.<br /><br />Let's see how to generate corpus for&nbsp;<strong>Dirichlet--multinomial unigram language model</strong><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff; ">def</span>&nbsp;generate_corpus(beta,&nbsp;mean,&nbsp;N):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;corpus&nbsp;of&nbsp;tokens&nbsp;drawn&nbsp;from&nbsp;a&nbsp;Dirichlet--multinomial<br />&nbsp;&nbsp;&nbsp;&nbsp;unigram&nbsp;language&nbsp;model.&nbsp;Each&nbsp;token&nbsp;is&nbsp;an&nbsp;instance&nbsp;of&nbsp;one&nbsp;of&nbsp;V<br />&nbsp;&nbsp;&nbsp;&nbsp;unique&nbsp;word&nbsp;types,&nbsp;represented&nbsp;by&nbsp;indices&nbsp;0,&nbsp;<img src="http://www.cppblog.com/Images/dot.gif" alt="" />,&nbsp;V&nbsp;-&nbsp;1.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Arguments:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;beta&nbsp;--&nbsp;concentration&nbsp;parameter&nbsp;for&nbsp;the&nbsp;Dirichlet&nbsp;prior<br />&nbsp;&nbsp;&nbsp;&nbsp;mean&nbsp;--&nbsp;V-dimensional&nbsp;mean&nbsp;of&nbsp;the&nbsp;Dirichlet&nbsp;prior<br />&nbsp;&nbsp;&nbsp;&nbsp;N&nbsp;--&nbsp;number&nbsp;of&nbsp;tokens&nbsp;to&nbsp;generate<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">pass</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;YOUR&nbsp;CODE&nbsp;GOES&nbsp;HERE</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;mean</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;beta&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;dot(mean,beta)</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;dirichlet(mean*beta,size=1)</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;temp=sample(dirichlet(beta*array(mean),size=1),N)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;temp</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;temp</div>please keep in mind the&nbsp;<span style="font-size: 13px; background-color: #eeeeee; ">dirichlet</span>&nbsp;function is &nbsp;&#8220;from numpy.random.mtrand import dirichlet"<br />and the parameters it receives are corresponding to beta*array(mean). beta is the concentration factor, and mean is the vector which sum to 1.<br /><br /><br /><br />another way is to generate corpus is using the property:<br />P(D'|D,H)= Nv+beta_nv/N+beta<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">def</span>&nbsp;generate_corpus_collapsed(beta,&nbsp;mean,&nbsp;N):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;corpus&nbsp;of&nbsp;tokens&nbsp;drawn&nbsp;from&nbsp;a&nbsp;Dirichlet--multinomial<br />&nbsp;&nbsp;&nbsp;&nbsp;unigram&nbsp;language&nbsp;model&nbsp;using&nbsp;the&nbsp;'collapsed'&nbsp;generative&nbsp;process<br />&nbsp;&nbsp;&nbsp;&nbsp;(i.e.,&nbsp;phi&nbsp;is&nbsp;not&nbsp;explicitly&nbsp;represented).&nbsp;Each&nbsp;token&nbsp;is&nbsp;an<br />&nbsp;&nbsp;&nbsp;&nbsp;instance&nbsp;of&nbsp;one&nbsp;of&nbsp;V&nbsp;unique&nbsp;word&nbsp;types.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Arguments:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;beta&nbsp;--&nbsp;concentration&nbsp;parameter&nbsp;for&nbsp;the&nbsp;Dirichlet&nbsp;prior<br />&nbsp;&nbsp;&nbsp;&nbsp;mean&nbsp;--&nbsp;V-dimensional&nbsp;mean&nbsp;of&nbsp;the&nbsp;Dirichlet&nbsp;prior<br />&nbsp;&nbsp;&nbsp;&nbsp;N&nbsp;--&nbsp;number&nbsp;of&nbsp;tokens&nbsp;to&nbsp;generate<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;V&nbsp;=&nbsp;len(mean)&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;vocabulary&nbsp;size</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;corpus&nbsp;=&nbsp;zeros(N,&nbsp;dtype=int)&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;corpus</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;Nv&nbsp;=&nbsp;zeros(V,&nbsp;dtype=int)&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;counts&nbsp;for&nbsp;each&nbsp;word&nbsp;type</span><span style="color: #008000; "><br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">pass</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;YOUR&nbsp;CODE&nbsp;GOES&nbsp;HERE</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;n&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;xrange(N):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;corpus[n]=sample((Nv+beta*array(mean))/(n+beta),1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nv[corpus[n]]+=1;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;corpus</div><br />Let's see how to generate corpus for <strong>Mixture of&nbsp;Dirichlet-multinomial unigram language model</strong>&nbsp;<br /><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">def</span>&nbsp;generate_corpus(alpha,&nbsp;m,&nbsp;beta,&nbsp;n,&nbsp;D,&nbsp;Nd):<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;grouped&nbsp;corpus&nbsp;drawn&nbsp;from&nbsp;a&nbsp;mixture&nbsp;of<br />&nbsp;&nbsp;&nbsp;&nbsp;Dirichlet--multinomial&nbsp;unigram&nbsp;language&nbsp;models.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Arguments:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;alpha&nbsp;--&nbsp;concentration&nbsp;parameter&nbsp;for&nbsp;the&nbsp;Dirichlet&nbsp;prior&nbsp;over&nbsp;theta<br />&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;--&nbsp;T-dimensional&nbsp;mean&nbsp;of&nbsp;the&nbsp;Dirichlet&nbsp;prior&nbsp;over&nbsp;theta<br />&nbsp;&nbsp;&nbsp;&nbsp;beta&nbsp;--&nbsp;concentration&nbsp;parameter&nbsp;for&nbsp;the&nbsp;Dirichlet&nbsp;prior&nbsp;over&nbsp;phis<br />&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;--&nbsp;V-dimensional&nbsp;mean&nbsp;of&nbsp;the&nbsp;Dirichlet&nbsp;prior&nbsp;over&nbsp;phis<br />&nbsp;&nbsp;&nbsp;&nbsp;D&nbsp;--&nbsp;number&nbsp;of&nbsp;documents&nbsp;to&nbsp;generate<br />&nbsp;&nbsp;&nbsp;&nbsp;Nd&nbsp;--&nbsp;number&nbsp;of&nbsp;tokens&nbsp;to&nbsp;generate&nbsp;per&nbsp;document<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">"""</span><br />&nbsp;&nbsp;&nbsp;&nbsp;corpus&nbsp;=&nbsp;GroupedCorpus()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">pass</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;YOUR&nbsp;CODE&nbsp;GOES&nbsp;HERE</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">determine&nbsp;the&nbsp;topic&nbsp;the&nbsp;distribution&nbsp;for&nbsp;topic&nbsp;dirichlet(dot(m,alpha),size=1)</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">given&nbsp;the&nbsp;topic,&nbsp;the&nbsp;distribtuion&nbsp;for&nbsp;word&nbsp;dirichlet(dot(n,beta),size=1)</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;theta=dirichlet(alpha*array(m),1)<br />&nbsp;&nbsp;&nbsp;&nbsp;phis=dirichlet(beta*array(n),len(m))<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;d&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(0,D):<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[t]=sample(theta,1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">print&nbsp;groupVcab</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;corpus.add(str(d),str(t),[str(x)&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;x&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;sample(phis[t,:],Nd)])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;corpus</div>注意是T个topic (group)，<span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;phis</span><span style="font-size: 13px; background-color: #eeeeee; ">=</span><span style="font-size: 13px; background-color: #eeeeee; ">dirichlet(beta</span><span style="font-size: 13px; background-color: #eeeeee; ">*</span><span style="font-size: 13px; background-color: #eeeeee; ">array(n),len(m))</span>&nbsp; 产生了T个 dirichlet distribution,相同的topic t应该取同一个 dirichlet distribution phis[t,:]</div><img src ="http://www.cppblog.com/luyulaile/aggbug/193960.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-28 10:13 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/28/193960.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多维矩阵 求和</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/27/193940.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Sat, 27 Oct 2012 05:11:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/27/193940.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193940.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/27/193940.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193940.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193940.html</trackback:ping><description><![CDATA[<div>&gt;&gt; test3=cat(3,test1,test2)</div><div></div><div>test3(:,:,1) =</div><div></div><div>&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2</div><div>&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4</div><div></div><div></div><div>test3(:,:,2) =</div><div></div><div>&nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; 6</div><div>&nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp; 8</div><br />=======================================<br /><div>&gt;&gt; sum(test3,1) &nbsp; %对第一个维度求和</div><div></div><div>ans(:,:,1) =</div><div></div><div>&nbsp; &nbsp; &nbsp;4 &nbsp; &nbsp; 6</div><div></div><div></div><div>ans(:,:,2) =</div><div></div><div>&nbsp; &nbsp; 12 &nbsp; &nbsp;14</div><div></div><div>&gt;&gt; sum(test3,2) &nbsp;%对第二个维度求和</div><div></div><div>ans(:,:,1) =</div><div></div><div>&nbsp; &nbsp; &nbsp;3</div><div>&nbsp; &nbsp; &nbsp;7</div><div></div><div></div><div>ans(:,:,2) =</div><div></div><div>&nbsp; &nbsp; 11</div><div>&nbsp; &nbsp; 15<br /><br /><div>&gt;&gt; sum(test3,3)%相当于对第三个维度上求和</div><div></div><div>ans =</div><div></div><div>&nbsp; &nbsp; &nbsp;6 &nbsp; &nbsp; 8</div><div>&nbsp; &nbsp; 10 &nbsp; &nbsp;12</div></div><div></div><div>&gt;&gt; sum(test3(:))</div><div></div><div>ans =</div><div></div><div>&nbsp; &nbsp; 36</div><div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/193940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-27 13:11 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/27/193940.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>matlab 矩阵合并</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/27/193939.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Sat, 27 Oct 2012 04:31:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/27/193939.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193939.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/27/193939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193939.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193939.html</trackback:ping><description><![CDATA[<div>&gt;&gt; test1=[1,2;3,4]</div><div></div><div>test1 =</div><div></div><div>&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2</div><div>&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4</div><div></div><div>&gt;&gt; test2=[5,6;7,8]</div><div></div><div>test2 =</div><div></div><div>&nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; 6</div><div>&nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp; 8</div><div></div><div>&gt;&gt; test3=[test1,test2]</div><div></div><div>test3 =</div><div></div><div>&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2 &nbsp; &nbsp; 5 &nbsp; &nbsp; 6</div><div>&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4 &nbsp; &nbsp; 7 &nbsp; &nbsp; 8</div><div></div><div>&gt;&gt; test4=[test1;test2]</div><div></div><div>test4 =</div><div></div><div>&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2</div><div>&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4</div><div>&nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; 6</div><div>&nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp; 8<br />===<br /><div style="margin: 0px; word-wrap: break-word; font-family: Tahoma, Helvetica, SimSun, sans-serif, Hei; line-height: 25px; background-color: #ffffff; ">对于维数相同的矩阵</div><div style="margin: 0px; word-wrap: break-word; font-family: Tahoma, Helvetica, SimSun, sans-serif, Hei; line-height: 25px; background-color: #ffffff; ">cat(1,A,B）相当于[A;B]</div><div style="margin: 0px; word-wrap: break-word; font-family: Tahoma, Helvetica, SimSun, sans-serif, Hei; line-height: 25px; background-color: #ffffff; ">cat (2, A, B) 相当于[A,B]</div><div style="margin: 0px; word-wrap: break-word; font-family: Tahoma, Helvetica, SimSun, sans-serif, Hei; line-height: 25px; background-color: #ffffff; ">cat (3, A, B) 相当于增加维度</div><div style="margin: 0px; word-wrap: break-word; background-color: #ffffff; "><font face="Tahoma, Helvetica, SimSun, sans-serif, Hei"><span style="line-height: 25px;">当A，B分别为二维矩阵时，合并之后为三维矩阵；A,B为三维矩阵，则在第三维方向上合并A,B。</span></font><br /><br /><div><span style="line-height: 25px;">&gt;&gt; cat(1,test1,test2)</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">ans =</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2</span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4</span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; 6</span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp; 8</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">&gt;&gt; cat(2,test1,test2)</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">ans =</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2 &nbsp; &nbsp; 5 &nbsp; &nbsp; 6</span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4 &nbsp; &nbsp; 7 &nbsp; &nbsp; 8</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">&gt;&gt; cat(3,test1,test2)</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">ans(:,:,1) =</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 2</span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 4</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">ans(:,:,2) =</span></div><div><span style="line-height: 25px;"><br /></span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; 6</span></div><div><span style="line-height: 25px;">&nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp; 8</span></div></div></div><div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/193939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-27 12:31 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/27/193939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>强制latex 图片的插入位置</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/12/193197.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Fri, 12 Oct 2012 01:25:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/12/193197.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193197.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/12/193197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193197.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193197.html</trackback:ping><description><![CDATA[latex 图片经常多出跑<br /><br /><br />1种方法 &nbsp;忽略美学<br />[!hb]<br /><br />2另一种方法<br />H 插入当前位置<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><br />\usepackage{float}<br /><br />\begin{figure}[H]<br />foo<br />\end{figure}</div><br />看图：<img src ="http://www.cppblog.com/luyulaile/aggbug/193197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-12 09:25 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/12/193197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 常用命令</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/12/193195.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Thu, 11 Oct 2012 21:02:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/12/193195.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193195.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/12/193195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193195.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193195.html</trackback:ping><description><![CDATA[<br /><br />\overline<br /><br />^ _<br /><br />\dfrac{}{}<br /><br />\frac{}{}<br /><br />\textbf<br /><br />\sqrt 开根号<br /><br />\tilde 斜线<br />\alpha \Alpha<br /><br />\hat<br /><br />\leq &lt;=<br />\rightarrow -&gt;<br />\geq &gt;= greater equal<br />\begin{itemize}<br />\end{itemize}<br />\xi<br />\parell<br />求导是 <span style="font-family: arial, helvetica, verdana, sans-serif; font-size: 13px; line-height: 16.649999618530273px; background-color: #ffffff; ">\delta</span>&nbsp;<br /><br />关于title<br /><div>\documentclass{book}</div><div></div><div>\title{TITLE}</div><div>\author{AUTHOR}</div><div></div><div>\begin{document}</div><div>\maketitle</div><div>\end{document}<br /><br /><br />关于表格<br /><br />artice的文章结构<br />title<br />&nbsp;section<br />subsection<br />subsubsection<br /><br />首行缩进<br /><div>\usepackage{indentfirst}&nbsp;<br /><br />===itemlize description enumerata的区别===<br /><br /><span style="font-size: 13px; background-color: #eeeeee; ">\begin{itemize}</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;\item&nbsp;First&nbsp;level,&nbsp;itemize,&nbsp;first&nbsp;item</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;\begin{itemize}</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\item&nbsp;Second&nbsp;level,&nbsp;itemize,&nbsp;first&nbsp;item</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\item&nbsp;Second&nbsp;level,&nbsp;itemize,&nbsp;second&nbsp;item</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\begin{enumerate}</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\item&nbsp;Third&nbsp;level,&nbsp;enumerate,&nbsp;first&nbsp;item</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\item&nbsp;Third&nbsp;level,&nbsp;enumerate,&nbsp;second&nbsp;item</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\end{enumerate}</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;\end{itemize}</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">&nbsp;&nbsp;&nbsp;&nbsp;\item&nbsp;First&nbsp;level,&nbsp;itemize,&nbsp;second&nbsp;item</span><br style="font-size: 13px; " /><span style="font-size: 13px; background-color: #eeeeee; ">\end{itemize}</span><br style="font-size: 13px; " />==<br style="font-size: 13px; " /><br style="font-size: 13px; " /><img src="http://texblog.files.wordpress.com/2008/10/nested_list1.png" alt="" />&nbsp;<br /><br style="font-size: 13px; " />主要是：<br /><br /><br />画图：<br /><div>&nbsp; &nbsp;\begin{figure}[ht]</div><div><span style="white-space:pre">	</span> \centering</div><div><span style="white-space:pre">	</span> \includegraphics[width=0.8\textwidth,clip]{image/fig2.png}</div><div><span style="white-space:pre">	</span> \caption{}</div><div><span style="white-space:pre">	</span> \label{fig:11}</div><div>&nbsp;\end{figure}<br /><br />多个图：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->\begin{figure}<br />&nbsp;&nbsp;\centering<br />&nbsp;&nbsp;\subfigure[Small&nbsp;Box&nbsp;with&nbsp;a&nbsp;Long&nbsp;Caption]{<br />&nbsp;&nbsp;&nbsp;&nbsp;\label{fig:subfig:a}&nbsp;%%&nbsp;label&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;first&nbsp;subfigure<br />&nbsp;&nbsp;&nbsp;&nbsp;\includegraphics[width=1.0<span style="color: #0000FF; ">in</span>]{graphic.eps}}<br />&nbsp;&nbsp;\hspace{1<span style="color: #0000FF; ">in</span>}<br />&nbsp;&nbsp;\subfigure[Big&nbsp;Box]{<br />&nbsp;&nbsp;&nbsp;&nbsp;\label{fig:subfig:b}&nbsp;%%&nbsp;label&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;second&nbsp;subfigure<br />&nbsp;&nbsp;&nbsp;&nbsp;\includegraphics[width=1.5<span style="color: #0000FF; ">in</span>]{graphic.eps}}<br />&nbsp;&nbsp;\caption{Two&nbsp;Subfigures}<br />&nbsp;&nbsp;\label{fig:subfig}&nbsp;%%&nbsp;label&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;entire&nbsp;figure<br />\end{figure}</div></div></div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/193195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-12 05:02 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/12/193195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Matlab 常用画图公式</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/12/193194.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Thu, 11 Oct 2012 20:31:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/12/193194.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193194.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/12/193194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193194.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193194.html</trackback:ping><description><![CDATA[<div itemprop="content" style="margin: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: #ffffff; font-family: Arial, Helvetica, sans-serif; line-height: 19px; "><h1><a href="http://www.mathworks.com/help/matlab/ref/plot.html">http://www.mathworks.com/help/matlab/ref/plot.html</a>&nbsp;<br /><br />例子：<br /><br /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">还是举简单的例子个大家：在0&#8804;x&#8804;2p区间内，绘制曲线y1=2e-0.5x和y2=cos(4&#960;x)，并给图形添加图形标注。&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">x=0:pi/100:2*pi;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">y1=2*exp(-0.5*x);</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">y2=cos(4*pi*x);</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">plot(x,y1,x,y2)</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">title('x from 0 to 2{\pi}');&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; %加图形标题&nbsp; &nbsp;&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">xlabel('Variable X');&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;%加X轴说明&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">ylabel('Variable Y');&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;%加Y轴说明&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">text(0.8,1.5,'曲线y1=2e^{-0.5x}');&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; %在指定位置添加图形说明&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">text(2.5,1.1,'曲线y2=cos(4{\pi}x)');&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">legend('y1','y2')&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;%加图例&nbsp;</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><span style="color: red; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; line-height: 25px; background-color: #ffffff; ">复制代码</span><br style="line-height: 25px; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " /><img height="420" alt="" src="http://attach.matlabsky.com/data/attachment/album/201106/02/16190800lmx99j5uflb9iq.jpg" width="561" style="line-height: 25px; border: 0px; max-width: 100%; color: #959595; font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 14px; font-weight: normal; background-color: #000000; " />&nbsp;<br /><br />plot</h1><div style="margin: -20px 0px 20px; padding-top: 3px; border-top-width: 0px; border-right-width: 0px; border-left-width: 0px; border-bottom-style: none; outline: 0px; font-size: 0.9em; vertical-align: baseline; background-color: transparent; color: #6a6a6a; line-height: 14px; "><p itemprop="purpose" style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; ">2-D line plot</p></div></div><h2>Syntax</h2><div style="margin: 0px 0px 15px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: #ffffff; width: 560px; font-family: Arial, Helvetica, sans-serif; line-height: 19px; "><p style="margin: 0px 0px 20px 32px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">plot(Y)<br />plot(X1,Y1,...,Xn,Yn)<br />plot(X1,Y1,<tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1em; vertical-align: baseline; background-color: transparent; ">LineSpec</tt>,...,Xn,Yn,<tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1em; vertical-align: baseline; background-color: transparent; ">LineSpec</tt>)<br />plot(...,'<em style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1em; vertical-align: baseline; background-color: transparent; ">PropertyName</tt></em>',PropertyValue,...)<br />plot(axes_handle,...)<br />h = plot(...)<br /><br /><br /><strong style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; ">&nbsp; &nbsp;1、设置图线宽度</strong><span style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; ">&nbsp;</span><wbr style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; "><span style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; ">&nbsp;</span><wbr style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; "><span style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; ">&nbsp;</span><wbr style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; "><span style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; ">set( haxis, 'LineWidth', 1.0 );&nbsp;</span><wbr style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; "><span style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; background-color: transparent; font-size: 1.2em; ">----这是 set函数， 'LineWidth'就是axis的线宽度属性，其值默认为0.5，这里可以改成1.0了。</span></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; "><strong>2、调整坐标轴上下限<br /></strong>set( haxis, 'XLim', [ 2 20 ] );&nbsp;<wbr>&nbsp;<wbr>set( haxis, 'YLim', [ 2 20 ] );---调整坐标轴上下限的。Z轴，那同理set( haxis, 'ZLim', [ Zmin, %% Zmax ] )<br /><strong>&nbsp; &nbsp; &nbsp;3、调整坐标轴上的标注数字</strong><br />set( haxis, 'XTick', 2:1:20 );&nbsp;<wbr>&nbsp;<wbr>set( haxis, 'YTick', 2:1:20 );----是调整坐标轴上那些标注出来的数字了，2:1:20意思是从2开始，每隔1标注一次，直到20为止。注意这里的2, 20最好和上面相应的XLim, YLim最大最小值一致。</tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; "><strong>4、MATLAB中提供的线型及颜色属性：</strong></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; "><strong>如：plot(x1,y1,'r-'),表示，用红色实线画出图形</strong></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">&nbsp;<wbr></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">&nbsp;<wbr></tt></p><table border="1" cellspacing="0" cellpadding="0" style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; font-size: 14px; text-align: left; text-indent: 28px; padding: 0px; margin: 0px; "><tbody><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>线型</p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>说明</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>标记符</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>说明</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>颜色</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>说明</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>-</p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>实线(默认)</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>+</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>加号符</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>r</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>红色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>--</p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>双划线</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>o</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>空心圆</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>g</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>绿色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>:</p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>虚线</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>*</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>星号</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>b</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>蓝色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>:.</p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>点划线</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>.</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>实心圆</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>c</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>青绿色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>x</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>叉号符</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>m</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>洋红色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>s</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>正方形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>y</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>黄色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>d</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>菱形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>k</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>黑色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>^</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>上三角形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>w</p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>白色</p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>v</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>下三角形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&gt;&nbsp;<wbr></p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>右三角形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&lt;&nbsp;<wbr></p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>左三角形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>p</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>五角星</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td></tr><tr><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="96" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td><td width="95" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>h</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>六边形</p></td><td width="93" style="padding: 0px; line-height: 18px; margin: 0px; font-family: Verdana, 宋体, sans-serif; font-size: 12px; "><p>&nbsp;<wbr></p></td></tr></tbody></table><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">&nbsp;<wbr></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; "><strong>5、图形标题、轴标注、图形说明的设置</strong></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">图名标注可用：title('xx关系图')<br />axis([0,22,0,3]);---显示范围为：X轴从0-22， Y轴从0-3显示。<br />xlabel('电压（V）')，ylabel('电流（A）') 分别表示在X轴下标示 电压（V），Y轴旁标示&#8220;电流（A）&#8221;</tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">legend('A曲线 ','B曲线','C曲线')&nbsp;<wbr>&nbsp;<wbr>用于说明图中的曲线的说明，顺序和plot(x1,y1,x2,y2,x3,y3)的曲线1、2、3相同即可。</tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">&nbsp;<wbr></tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">set(h,'LineWidth',1.5)%设置图线粗细</tt></p><p style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">%set(gca,'XTickLabel',{'-4/T','-3/T','-2/T','-1/T','0','1/T','2/T','3/T','4/T',})<br /><br /><br /><br /><br /></tt></p><div itemprop="content" style="margin: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; color: #000000; font-family: Arial, Helvetica, sans-serif; line-height: 19px; text-indent: 0px; "><h1><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">scatter</tt></h1><div style="margin: -20px 0px 20px; padding-top: 3px; border-top-width: 0px; border-right-width: 0px; border-left-width: 0px; border-bottom-style: none; outline: 0px; font-size: 0.9em; vertical-align: baseline; background-color: transparent; color: #6a6a6a; line-height: 14px; "><p itemprop="purpose" style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">Scatter plot</tt></p></div></div><div itemprop="content" style="margin: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; color: #000000; font-family: Arial, Helvetica, sans-serif; line-height: 19px; text-indent: 0px; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; "><a name="bquk_8i" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; color: rgb(0, 95, 206); "></a><h2></h2><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; "><img src="http://www.mathworks.com/help/matlab/ref/plottype-scatter.gif" height="46" width="60" alt="" style="margin: 0px; padding: 0px; border: none; outline: 0px; vertical-align: baseline; background-color: transparent; " /></p></tt></div><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; "><a name="f33-615582" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; color: rgb(0, 95, 206); font-family: Arial, Helvetica, sans-serif; line-height: 19px; text-indent: 0px; "></a><h2>Syntax</h2><div style="margin: 0px 0px 15px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; width: 560px; color: #000000; font-family: Arial, Helvetica, sans-serif; line-height: 19px; text-indent: 0px; "><p style="margin: 0px 0px 20px 32px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; line-height: 18px; background-position: initial initial; background-repeat: initial initial; ">scatter(X,Y,S,C)<br />scatter(X,Y)<br />scatter(X,Y,S)<br />scatter(...,<em style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1em; vertical-align: baseline; background-color: transparent; ">markertype</tt></em>)<br />scatter(...,'filled')<br />scatter(...,'<em style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; "><tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1em; vertical-align: baseline; background-color: transparent; ">PropertyName</tt></em>',propertyvalue)<br />scatter(axes_handle,...)<br />h = scatter(...)</tt></p></div></tt><p>&nbsp;</p><p>&nbsp;</p></div><img src ="http://www.cppblog.com/luyulaile/aggbug/193194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-12 04:31 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/12/193194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Matlab 常用function 笔记</title><link>http://www.cppblog.com/luyulaile/archive/2012/10/11/193145.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Thu, 11 Oct 2012 00:28:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/10/11/193145.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/193145.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/10/11/193145.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/193145.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/193145.html</trackback:ping><description><![CDATA[repmat(A, 2 *3) 负责A 2*3<br />eye(1) [1] &nbsp;eye(2) 2*2的单位矩阵<br />ones(n), &nbsp;n*n的矩阵<br />ones(n,m) 或者 ones([n,m]) n*m全是1的矩阵<br />zeros(n) zeros([n,m]) &nbsp;全是0的矩阵<br /><br />reshape() 将数据一列一列重新分配<br />例如：<br /><pre style="margin-top: 0px; margin-bottom: 20px; margin-left: 32px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: #ffffff; white-space: pre-wrap; word-wrap: break-word; line-height: 19px; "> <p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; font-family: Arial, Helvetica, sans-serif; white-space: normal; ">Reshape a&nbsp;<tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">3</tt>-by-<tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">4</tt>&nbsp;matrix into a<tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">&nbsp;2</tt>-by-<tt style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 1.2em; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">6</tt>&nbsp;matrix.</p><pre style="margin-top: 0px; margin-bottom: 20px; margin-left: 32px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word; ">A =     1    4    7    10<br />        2    5    8    11<br />        3    6    9    12            <br /><br />B = reshape(A,2,6)            <br />B =     1    3    5    7    9   11     <br />        2    4    6    8   10   12 <br />B = reshape(A,2,[])</pre> 
<pre style="margin-top: 0px; margin-bottom: 20px; margin-left: 32px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word; ">B =     1    3    5    7    9   11     <br />        2    4    6    8   10   12 </pre>
</pre><br /><br /><span style="color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; ">A=rand(3,3);</span><br style="word-wrap: break-word; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; " /><span style="color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; ">B=A';%转置</span><br style="word-wrap: break-word; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; " /><span style="color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; ">C=inv(B);%求逆</span><br style="word-wrap: break-word; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; " /><span style="color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; ">D=rank(A);%求矩阵的置</span><br style="word-wrap: break-word; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; " /><span style="color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; ">[V E]=eig(A);%求矩阵的特征向量V和特征值D</span>&nbsp;<br /><span style="color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; background-color: #ffffff; ">如果不是方阵，可以用pinv求伪逆</span>&nbsp;<br /><br />圆括号的作用：用于取值（引用数组中的元素）<br /><div>&gt;&gt; A =[1 &nbsp; &nbsp;4 &nbsp; &nbsp;7 &nbsp; &nbsp;10</div><div>&nbsp; &nbsp; 2 &nbsp; &nbsp;5 &nbsp; &nbsp;8 &nbsp; &nbsp;11</div><div>&nbsp; &nbsp; 3 &nbsp; &nbsp;6 &nbsp; &nbsp;9 &nbsp; &nbsp;12]</div><div></div><div>A =</div><div></div><div>&nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; 4 &nbsp; &nbsp; 7 &nbsp; &nbsp;10</div><div>&nbsp; &nbsp; &nbsp;2 &nbsp; &nbsp; 5 &nbsp; &nbsp; 8 &nbsp; &nbsp;11</div><div>&nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; 6 &nbsp; &nbsp; 9 &nbsp; &nbsp;12<br />A(3)=3<br />A(10)=10<br />A(2,3)=5<br />注意不是；而是逗号,<br />A(2,:)=去所有的第二行 2 5 8 11<br /><br /><br /><br />方括号的作用：<br /><pre id="best-answer-content"  mb10"="" data-accusearea="aContent" style="margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: Arial; white-space: pre-wrap; word-wrap: break-word; zoom: 1; line-height: 22px; font-size: 14.166666030883789px; background-color: #fffcf6; ">Matlab 方括号&#8220;[ ]&#8221;的作用<br /> 1定义矩阵（向量，数组）。<br />                例如 a=[1 2 3;4 5 6] <br />2.定义函数的返回参数列表（输出变量宗量）。<br />               例如 [m,n]=size(a)                如果函数的返回参数只有一个，中括号一般省略。即  [n]=rand(1,2); 可写作  n=rand(1,2);</pre><br /><br /><code style="color: #222222; line-height: 28px; text-indent: 28px; ">大括号的作用{ }<br />大括号，用于cell型的数组的分配或引用。<br />比如</code>&nbsp;<code style="color: #222222; line-height: 28px; text-indent: 28px; ">A(2,1) = {[1 2 3; 4 5 6]}</code><span style="color: #222222; font-family: tahoma, Verdana, Arial, 宋体; line-height: 28px; text-indent: 28px; ">, or&nbsp;</span><code style="color: #222222; line-height: 28px; text-indent: 28px; ">A{2,2} = ('str')</code>&nbsp;<br /><br />分号；的作用：<br /><br /><br />cell型 数据类型<br /><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">如果p为一个数，那么h(1)=p,是没有问题的。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">如果p为一个向量，那么h(1,:)=p是没有问题的。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">如果p是一个矩阵的话，上面的两种赋值方法都是会有错误的。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">那么要如何处理呢？</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">这时就用到了cell数据类型了。cell的每个单元都可以存储任何数据，比如传递函数等。当然，存储矩阵更是没有问题的了。但是用cell数据类型之前，要先初始化。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">a=cell(n,m)</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">那么就把a初始化为一个n行m列的空cell类型数据。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">如何赋值呢？</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">a{1,1}=rand(5)</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">那么a的1行1列的单元中存储的就是一个随机的5&#215;5的方阵了。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">那么要用第一个单元中的方阵中的某个值呢？</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">可以如下引用：a{1,1}(2,3)</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">就可以了，引用cell单元时要用{},再引用矩阵的某个数据就要用()了。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; font-size: 13.63636302947998px; line-height: 19.09090805053711px; background-color: #ffffff; ">cell单元中的每个单元都是独立的，可以分别存储不同大小的矩阵或不同类型的数据。</p></div><img src ="http://www.cppblog.com/luyulaile/aggbug/193145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-10-11 08:28 <a href="http://www.cppblog.com/luyulaile/archive/2012/10/11/193145.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python 空数组</title><link>http://www.cppblog.com/luyulaile/archive/2012/09/19/191202.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 19 Sep 2012 01:47:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/09/19/191202.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/191202.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/09/19/191202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/191202.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/191202.html</trackback:ping><description><![CDATA[<div>Python array 用法 &nbsp;&nbsp;<br />直接 result=[]</div><div>&nbsp; &nbsp; for x in range(0,N):</div><div>&nbsp; &nbsp; &nbsp; &nbsp; temp=beta(b,n)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; print temp</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if temp &gt;= n:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.append("Yes") &nbsp;#直接append</div><div>&nbsp; &nbsp; &nbsp; &nbsp; else:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.append("No") #直接append</div><div>&nbsp; &nbsp; return result</div><img src ="http://www.cppblog.com/luyulaile/aggbug/191202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-09-19 09:47 <a href="http://www.cppblog.com/luyulaile/archive/2012/09/19/191202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python笔记</title><link>http://www.cppblog.com/luyulaile/archive/2012/09/09/190021.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Sun, 09 Sep 2012 06:47:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/09/09/190021.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/190021.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/09/09/190021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/190021.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/190021.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">Tutorial ：</span>&nbsp;<a href="http://www.tutorialspoint.com/python/python_files_io.htm">http://www.tutorialspoint.com/python/python_files_io.htm</a>&nbsp;<br /><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; "><br />Python IO<br />输出 print<br /></span><pre style="font-family: 'Courier New', monospace; font-size: 12px; margin-bottom: 0px; margin-top: 0px; line-height: normal; background-color: #f1f1f1; ">str = raw_input("Enter your input: "); print "Received input is : ", str</pre><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; "><br /><br />Python只有三种变量类型 int, string, float?&nbsp;<br />typeof(1.5)<br />貌似不支持隐式类型转换<br />print str(2.5) &nbsp;对<br />print 2.5 错<br />print '2.5' 对<br /><br />python 定义方法是<br />def MethodName(para,para2): #注意这里的冒号<br />&nbsp; &nbsp; &nbsp; if&nbsp;<br /><br />python注释<br />#单行注释<br />""" &nbsp;三个双引号是多行注释 """<br /><br />python 引用<br />include math<br /><br /><br />Python的str<br />str(var)类型转换<br />len(var)<br />var.upper()<br />var.lower()<br />var[2] 第三个（注意下标从0开始）元素，类似于list<br />var[:3] 前三个元素，实际上指的是0截止到3-1的元素<br />var[2:4]下标是2到4-1的所有元素<br /><br />Python的list<br />exampe=[a,b,c,d,e,f];<br />len(exampe)<br />自带sort方法<br /><br />Python的dictionary<br />key -value对应<br />value可以是一个list<br />注意方括号[]里面只能使用key<br />区分 del dict['Name']<br /><br /><br /></span><pre style="font-family: 'Courier New', monospace; font-size: 12px; margin-bottom: 0px; margin-top: 0px; line-height: normal; background-color: #f1f1f1; ">del dict['Name']; # remove entry with key 'Name' dict.clear();     # remove all entries in dict del dict ;        # delete entire dictionary</pre><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">自带的方法：<br /><br /></span><table border="1" width="100%" cellpadding="5" cellspacing="0" style="border-style: solid; border-color: #aaaaaa; font-family: verdana, helvetica, arial, sans-serif; font-size: 11px; width: 552px; background-color: #f1f1f1; border-collapse: collapse; padding-left: 5px; vertical-align: top; color: #000000; text-align: left; "><tbody><tr><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; ">1</td><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; "><a href="http://www.tutorialspoint.com/python/dictionary_cmp.htm" style="color: #900b09; background-color: transparent; ">cmp(dict1, dict2)</a><br />Compares elements of both dict.</td></tr><tr><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; ">2</td><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; "><a href="http://www.tutorialspoint.com/python/dictionary_len.htm" style="color: #900b09; background-color: transparent; ">len(dict)</a><br />Gives the total length of the dictionary. This would be equal to the number of items in the dictionary.</td></tr><tr><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; ">3</td><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; "><a href="http://www.tutorialspoint.com/python/dictionary_str.htm" style="color: #900b09; background-color: transparent; ">str(dict)</a><br />Produces a printable string representation of a dictionary</td></tr><tr><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; ">4</td><td style="border-style: solid; border-color: #aaaaaa; vertical-align: top; margin-bottom: 0px; border-collapse: collapse; "><a href="http://www.tutorialspoint.com/python/dictionary_type.htm" style="color: #900b09; background-color: transparent; ">type(variable)</a><br />Returns the type of the passed variable. If passed variable is dictionary then it would return a dictionary type.</td></tr></tbody></table><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; "><br /><br /></span><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; "><br /><br />Python类的定义和类方法的定义<br />定义类不需要用def class,直接<br /><br />class ClassName(object):<br />每个类都有 __init__(self,arg):<br />方法，注意是 左右各两个下划线，总共4根下划线<br />&nbsp;<br />类方法都需要包含self这个参数，但是使用的时候不需要self,见下例<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />例如<br /></span><div>class Adder(object):</div><div><span style="white-space: pre; ">	</span>def __init__(self):</div><div><span style="white-space: pre; ">		</span>self.baseNum = 2</div><div><span style="white-space: pre; ">	</span>def prnt_num(self):</div><div><span style="white-space: pre; ">		</span>print self.baseNum</div><div><span style="white-space: pre; ">	</span>def add_to_base(self, arg):</div><div><span style="white-space: pre; ">		</span># Your code here</div><div><span style="white-space: pre; ">		</span>self.baseNum+=arg</div><div><span style="white-space: pre; ">		</span>print self.baseNum</div><div>objectVar = Adder()</div><div>objectVar.prnt_num()</div><div># Your code here</div><div>objectVar.add_to_base(3)</div><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; "><br />Python中的类变量不能 self.xxx来引用，但是成员变量可以<br />Class variables are special because they belong to the&nbsp;</span><em style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">class</em><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">; the objects created do not get their own copies of the class variable. Class variables are accessed using the class name and dot notation.</span><br style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; " /><code style="padding: 2px 4px; font-family: Monaco, 'Courier New', monospace; font-size: 13px; color: #dd1144; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: #f7f7f9; border: 1px solid #e1e1e8; line-height: 1.5em; "><span style="white-space: inherit; "><span style="color: #c42b23 !important; ">ClassName</span>.<span style="color: #c42b23 !important; ">classVar</span></span></code><br style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; " /><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">Class variables are created&nbsp;</span><em style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">outside</em><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; background-color: #ffffff; ">&nbsp;of</span><code style="padding: 2px 4px; font-family: Monaco, 'Courier New', monospace; font-size: 13px; color: #dd1144; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; background-color: #f7f7f9; border: 1px solid #e1e1e8; line-height: 1.5em; "><span style="white-space: inherit; "><span style="color: #c42b23 !important; ">__init__</span></span></code>&nbsp;<br />例如：<br /><div>class Widget(object):</div><div><span style="white-space: pre; ">	</span>objID = 0</div><div><span style="white-space: pre; ">	</span>def __init__(self):</div><div><span style="white-space: pre; ">		</span>Widget.objID += 1</div><div><span style="white-space: pre; ">		</span># Your code here</div><div><span style="white-space: pre; ">		</span>self.myID=Widget.objID<br /><br /><span style="color: red; ">常犯错误：indentation is very important &nbsp;</span><br /><span style="color: red; ">python indentation error expected an indented block</span><br /><span style="color: red; ">还有一个错误就是 类方法，必须使用 self参数，即使没有参数！！</span><br /><span style="color: red; ">另外一个常错的地方就是 __init__(self,arg) 一定是四根下划线</span><br /><br /><br /><br />不仅要记得留dent 还要记得 缩进<br /><br /><br /><br /><br /><br /><br /></div><div></div><img src ="http://www.cppblog.com/luyulaile/aggbug/190021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-09-09 14:47 <a href="http://www.cppblog.com/luyulaile/archive/2012/09/09/190021.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Latex 大括号用法</title><link>http://www.cppblog.com/luyulaile/archive/2012/08/28/188512.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Tue, 28 Aug 2012 03:35:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/08/28/188512.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/188512.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/08/28/188512.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/188512.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/188512.html</trackback:ping><description><![CDATA[原地址：<a href="http://blog.sina.com.cn/s/blog_5e16f1770100gzud.html">http://blog.sina.com.cn/s/blog_5e16f1770100gzud.html</a>&nbsp;<br /><img src="http://www.cppblog.com/images/cppblog_com/luyulaile/690.jpg" width="299" height="332" alt="" /><br /><br /><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">演示代码：</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">\documentclass{article}<br />\setlength\textwidth{245.0pt}<br />\usepackage{CJK}<br />\usepackage{indentfirst}<br />\usepackage{amsmath}</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">\begin{CJK*}{GBK}{song}<br />\begin{document}<br />方法一：</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">$$ f(x)=\left\{<br />\begin{aligned}<br />x &amp; = &amp; \cos(t) \\<br />y &amp; = &amp; \sin(t) \\<br />z &amp; = &amp; \frac xy<br />\end{aligned}<br />\right.<br />$$</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; "><br />方法二：</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">$$ F^{HLLC}=\left\{<br />\begin{array}{rcl}<br />F_L&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp; {0&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&lt;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;S_L}\\<br />F^*_L&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp; {S_L \leq 0 &lt; S_M}\\<br />F^*_R&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp; {S_M \leq 0 &lt; S_R}\\<br />F_R&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&amp; {S_R \leq 0}<br />\end{array} \right. $$</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">方法三:</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">$$f(x)=<br />\begin{cases}<br />0&amp; \text{x=0}\\<br />1&amp; \text{x!=0}<br />\end{cases}$$</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #323e32; font-family: simsun; background-color: #9caec1; ">\end{CJK*}<br />\end{document}</p><br />可以用\text{} 注释文字<img src ="http://www.cppblog.com/luyulaile/aggbug/188512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-08-28 11:35 <a href="http://www.cppblog.com/luyulaile/archive/2012/08/28/188512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dijkstra(迪杰斯特拉)算法</title><link>http://www.cppblog.com/luyulaile/archive/2012/06/16/179006.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Fri, 15 Jun 2012 19:53:00 GMT</pubDate><guid>http://www.cppblog.com/luyulaile/archive/2012/06/16/179006.html</guid><wfw:comment>http://www.cppblog.com/luyulaile/comments/179006.html</wfw:comment><comments>http://www.cppblog.com/luyulaile/archive/2012/06/16/179006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/luyulaile/comments/commentRss/179006.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/luyulaile/services/trackbacks/179006.html</trackback:ping><description><![CDATA[<span style="font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; background-color: #ffffff; ">　Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法，用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展，直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法，在很多专业课程中都作为基本内容有详细的介绍，如数据结构，图论，运筹学等等。Dijkstra一般的表述通常有两种方式，一种用永久和临时标号方式，一种是用OPEN, CLOSE表的方式，这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。</span><h3><a name="1_2" style="text-decoration: underline; color: rgb(19, 110, 194); "></a><a name="sub1712262_1_2" style="text-decoration: underline; color: rgb(19, 110, 194); "></a>问题描述</h3><span style="font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; background-color: #ffffff; ">　　在无向图 G=(V,E) 中，假设每条边 E[i] 的长度为 w[i]，找到由顶点 V0 到其余各点的最短路径。（</span><a target="_blank" href="http://baike.baidu.com/view/1939816.htm" style="text-decoration: underline; color: #136ec2; font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; background-color: #ffffff; ">单源最短路径</a><span style="font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; background-color: #ffffff; ">）</span>&nbsp;<br /><br /><br /><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　</span><strong style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; "><em><a target="_blank" href="http://baike.baidu.com/view/358075.htm" style="text-decoration: underline; color: #136ec2; ">迪杰斯特拉</a>(Dijkstra)算法思想</em><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; "></div>　　</strong><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">按路径长度递增次序产生最短路径算法：</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　把V分成两组：</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　（1）S：已求出最短路径的顶点的集合</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　（2）V-S=T：尚未确定最短路径的顶点集合</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　将T中顶点按最短路径递增的次序加入到S中，</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　保证：（1）从源点V0到S中各顶点的最短路径长度都不大于</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　从V0到T中任何顶点的最短路径长度</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　（2）每个顶点对应一个距离值</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　S中顶点：从V0到此顶点的最短路径长度</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　T中顶点：从V0到此顶点的只包括S中顶点作中间</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　顶点的最短路径长度</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　依据：可以证明V0到T中顶点Vk的最短路径，或是从V0到Vk的</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　直接路径的权值；或是从V0经S中顶点到Vk的路径权值之和</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　（反证法可证）</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　</span><strong style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; "><em>求最短路径步骤</em></strong><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　算法步骤如下：</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　1. 初使时令 S={V0},T={其余顶点}，T中顶点对应的距离值</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　若存在&lt;V0,Vi&gt;，d(V0,Vi)为&lt;V0,Vi&gt;弧上的权值</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　若不存在&lt;V0,Vi&gt;，d(V0,Vi)为&#8733;</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　2. 从T中选取一个其距离值为最小的顶点W且不在S中，加入S</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　3. 对T中顶点的距离值进行修改：若加进W作中间顶点，从V0到Vi的</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　距离值比不加W的路径要短，则修改此距离值</span><div style="height: 14px; line-height: 14px; font-size: 12px; overflow-x: hidden; overflow-y: hidden; font-family: arial, 宋体, sans-serif; background-color: #ffffff; "></div><span style="font-family: arial, 宋体, sans-serif; line-height: 24px; background-color: #ffffff; ">　　重复上述步骤2、3，直到S中包含所有顶点，即S=T为止</span>&nbsp;<br /><br />代码： 源地址：<span style="color: #008000; font-size: 13px; background-color: #eeeeee; ">www.cnblogs.com/newwy</span>&nbsp;<br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">********************************<br />*&nbsp;&nbsp;&nbsp;最短路径---Dijkstra算法实现&nbsp;<br />*&nbsp;&nbsp;&nbsp;　　　HDU：2544&nbsp;<br />*&nbsp;&nbsp;&nbsp;BLOG:www.cnblogs.com/newwy<br />*&nbsp;&nbsp;&nbsp;AUTHOR:Wang&nbsp;Yong<br />*********************************</span><span style="color: #008000; ">*/</span><br />#include&nbsp;&lt;iostream&gt;<br /><span style="color: #0000FF; ">#define</span>&nbsp;MAX&nbsp;100<br /><span style="color: #0000FF; ">#define</span>&nbsp;INF&nbsp;1000000000<br /><span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br />&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;dijkstra&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;mat[][MAX],<span style="color: #0000FF; ">int</span>&nbsp;n,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;s,<span style="color: #0000FF; ">int</span>&nbsp;f)<br />&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;dis[MAX];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;mark[MAX];<span style="color: #008000; ">//</span><span style="color: #008000; ">记录被选中的结点&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i,j,k&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(i&nbsp;=&nbsp;0&nbsp;;&nbsp;i&nbsp;&lt;&nbsp;n&nbsp;;&nbsp;i++)<span style="color: #008000; ">//</span><span style="color: #008000; ">初始化所有结点，每个结点都没有被选中&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mark[i]&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(i&nbsp;=&nbsp;0&nbsp;;&nbsp;i&nbsp;&lt;&nbsp;n&nbsp;;&nbsp;i++)<span style="color: #008000; ">//</span><span style="color: #008000; ">将每个结点到start结点weight记录为当前distance&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dis[i]&nbsp;=&nbsp;mat[s][i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">path[i]&nbsp;=&nbsp;s;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;mark[s]&nbsp;=&nbsp;1;<span style="color: #008000; ">//</span><span style="color: #008000; ">start结点被选中&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">path[s]&nbsp;=&nbsp;0;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;dis[s]&nbsp;=&nbsp;0;<span style="color: #008000; ">//</span><span style="color: #008000; ">将start结点的的距离设置为0&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;min&nbsp;;<span style="color: #008000; ">//</span><span style="color: #008000; ">设置最短的距离。&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(i&nbsp;=&nbsp;1&nbsp;;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min&nbsp;=&nbsp;INF;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(j&nbsp;=&nbsp;0&nbsp;;&nbsp;j&nbsp;&lt;&nbsp;n;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(mark[j]&nbsp;==&nbsp;0&nbsp;&nbsp;&amp;&amp;&nbsp;dis[j]&nbsp;&lt;&nbsp;min)<span style="color: #008000; ">//</span><span style="color: #008000; ">未被选中的结点中，距离最短的被选中&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min&nbsp;=&nbsp;dis[j]&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mark[k]&nbsp;=&nbsp;1;<span style="color: #008000; ">//</span><span style="color: #008000; ">标记为被选中&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(j&nbsp;=&nbsp;0&nbsp;;&nbsp;j&nbsp;&lt;&nbsp;n&nbsp;;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(&nbsp;mark[j]&nbsp;==&nbsp;0&nbsp;&nbsp;&amp;&amp;&nbsp;(dis[j]&nbsp;&gt;&nbsp;(dis[k]&nbsp;+&nbsp;mat[k][j])))<span style="color: #008000; ">//</span><span style="color: #008000; ">修改剩余结点的最短距离&nbsp;</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dis[j]&nbsp;=&nbsp;dis[k]&nbsp;+&nbsp;mat[k][j];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dis[f];&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;}&nbsp;<br />&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;mat[MAX][MAX];<br /><span style="color: #0000FF; ">int</span>&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n,m;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(scanf("%d&nbsp;%d",&amp;n,&amp;m))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;a,b,dis;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(n&nbsp;==&nbsp;0&nbsp;||&nbsp;m&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;i,j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(i&nbsp;=&nbsp;0&nbsp;;&nbsp;i&nbsp;&lt;&nbsp;n;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(j&nbsp;=&nbsp;0&nbsp;;&nbsp;j&nbsp;&lt;&nbsp;n;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mat[i][j]&nbsp;=&nbsp;INF;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(i&nbsp;=&nbsp;0&nbsp;;&nbsp;i&nbsp;&lt;&nbsp;m&nbsp;;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%d&nbsp;%d&nbsp;%d",&amp;a,&amp;b,&amp;dis);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--a,--b;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(dis&nbsp;&lt;&nbsp;mat[a][b]&nbsp;||&nbsp;dis&nbsp;&lt;&nbsp;mat[b][a])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mat[a][b]&nbsp;=&nbsp;mat[b][a]&nbsp;=&nbsp;dis;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;ans&nbsp;=&nbsp;dijkstra(mat,n,0,n-1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d\n",ans);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />}</div><br />可用 优先队列优化<br /><br /><br />其他解释：<br /><a href="http://blog.csdn.net/jiahui524/article/details/6636913">http://blog.csdn.net/jiahui524/article/details/6636913</a>&nbsp;<img src ="http://www.cppblog.com/luyulaile/aggbug/179006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/luyulaile/" target="_blank">luis</a> 2012-06-16 03:53 <a href="http://www.cppblog.com/luyulaile/archive/2012/06/16/179006.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>