中國研究生入學考試(簡稱:考研),是高級大學(大學高級階段)的入學考試,其英文表述是“Take part in the entrance exams for postgraduate schools”。中國研究生入學考試是在中國進入研究生學習必須進行的考試,類似于進入大學階段的高考;參加研究生考試的人員必須符合教育部《研究生入學考試招生簡章》的相關規定,其中最重要的標準是對學歷的要求,其次按照程序:與學校聯系、先期準備、報名、初試、調劑、復試、復試調劑、錄取、畢業生就業、其他等方面依次進行。2016年全國碩士研究生招生考試初試時間為:2015年12月26日至12月27日(每天上午8:30-11:30,下午14:00-17:00)。
Status ToplogicalSort(ALGraph G)
{
FindIndegree(G,indegree);//求各點的入度放在Indegree[vnum];
InitStack(S);
for(i=0;i
if(Indegree[i]= =0)
push(S,i);
count=0;
while(!StackEmpty(S))
{ Pop(S,i); printf(i,G.vex[i].data); ++count;
for(p=G..vex[i].firstarc; p; p=p->nextarc)
{ k=p->adjvex;
Indegree[k]--;
if( Indegree[k]= =0) push(S,k);
}//for
}//while
if(count
return ERROR;
else
return OK
}
算法分析:求各頂點的入度的時間復雜度為O(e),入度為零的點入棧O(n),在循環中,每個頂點進一次棧,出棧一次,入度減1操作在while共執行了e次,所以總的時間復雜度為O(n+e).
當圖中無環時,也可以利用深度優先遍歷進行拓撲排序,因為圖中無環,所以最先退出DFS函數的頂點即出度為零的點,是拓撲排序中最后一個頂點。由此,按DFS函數的先后記錄下來的頂點序列即為逆向的拓撲有序序列。
Dijkstra算法
首先引進一個輔助向量, Dist[i]表示當前找到的從源點到vi的最短路徑長度。
final[v]為true,即已經求得從v0到v的最短路徑。p[v][w]為true,則w是從v0到v當前求得最短路徑上的頂點。該算法弧上的權出現__負數__情況時,不能正確產生最短路徑
void ShortestPath_DIJ( MGraph G, int v0, PathMatrix&p,ShortPathTable& Dist )
{ // 用 Dijkstra 算法求有向網G從源點 u 到其余頂點的最短路徑
for (v=0; v
{
final[v] = FALSE; dist[v] = G.arcs[v0][v];
for(w=0;w