給乙個有向樹,輸出字典序最小的那個拓撲排序

2021-10-09 10:02:51 字數 773 閱讀 7311

乙個完整的軟體專案往往會包含很多由**和文件組成的原始檔。編譯器在編譯整個專案

的時候,可能需要按照依賴關係來依次編譯每個原始檔。比如,a.cpp依賴b.cpp,那麼

在編譯的時候,編譯器需要先編譯b.cpp,才能再編譯a.cpp。假設現有0,1,2,3四

個檔案,0號檔案依賴1號檔案,1號檔案依賴2號檔案,3號檔案依賴1號檔案,則原始檔的

編譯順序為2,1,0,3或2,1,3,0。現給出檔案依賴關係,如1,2,-1,1,表示0號檔案依賴1號

檔案,1號檔案依賴2號檔案,2號檔案沒有依賴,3號檔案依賴1號檔案。請補充完整程

序,返回正確的編譯順序。注意如有同時可以編譯多個檔案的情況,按數字公升序返回一種

情況即可,比如前述案例輸出為:2,1,0,3

輸入"1,2,-1,1"

輸出"2,1,0,3"

#includeusing namespace std;

string compileseq(string input)

int num = stoi(nums);

if(num != -1)

graph[num].push_back(id);

else

q.push(id);

++id;

}string res = "";

while(!q.empty())

res.pop_back();

return res;

} int main()

寫了乙個字典樹

上星期寫了乙個鍊錶,寫的很艱難,跌跌絆絆。昨天我又試著寫了乙個單詞樹。這次順手多了,沒遇到什麼問題,非常順利,我也放棄了自定義結構體型別的寫法。將每一處結構體都用struct 寫。可能 不是非常簡潔高效,但是,目前測試功能正常。以後我會慢慢改進學習的。下面是完整 我準備放到我的期末作業裡面用。小愉悅...

字典序下的下乙個排列

一直寫過陣列全排列的演算法,當時接觸的是使用回溯的方法,這樣可以保證生成的全排列一定是按照字典序的,但是今天在做leetcode上的一道題時,問題是要你找到某個排列情況的下乙個按照字典序排列的狀態。如果直接一點,大可從頭開始做全排列,然後到目標狀態時,在做一次即可找到要的狀態,但是如果題目給的狀態非...

輸出字串最後乙個單詞的長度

這是華為機試的一道程式設計題,但是並不複雜,只是簡單的字串處理,尤其是使用python這種語言,其實幾行 就可以搞定,做過以後在此總結一下。題目描述 計算字串最後乙個單詞的長度,單詞以空格隔開。輸入描述 一行字串,非空,長度小於5000。輸出描述 整數n,最後乙個單詞的長度。輸入例子 hello w...