浙江大學 資料結構 堆的操作

2021-07-31 22:12:31 字數 833 閱讀 5037

題目:

05-樹7 堆中的路徑   (25分)

將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h[i]到根結點的路徑。

每組測試第1行包含2個正整數nn

n和mm

m(≤1000\le 1000≤1

000),分別是插入元素的個數、以及需要列印的路徑條數。下一行給出區間[-10000, 10000]內的nn

n個要被插入乙個初始為空的小頂堆的整數。最後一行給出mm

m個下標。

對輸入中給出的每個下標i,在一行中輸出從h[i]到根結點的路徑上的資料。數字間以1個空格分隔,行末不得有多餘空格。

5 3

46 23 26 24 10

5 4 3

24 23 10

46 23 10

26 10

堆是這樣一種樹形資料結構,以小根堆為例,滿足節點的左右兒子的值均小於該節點的權值,且左右子樹均為堆。

建立乙個小根堆的方法很簡單,根據線性結構儲存一棵樹的方法,每個節點i的根節點即為i/2,每次加入乙個節點,只需將其插入在最後,並按順序上調即可。

具體實現見**

**://by sean chen

#include #include #include #include using namespace std;

int a[200005];

int main()

}for(int i=0;i

PTA資料結構習題(浙江大學)

感謝疫情期間pta開放免費練習,趁著這個機會補一下資料結構的代 include include include struct stud node struct stud node createlist struct stud node deletelist struct stud node head...

慕課學習筆記 資料結構 浙江大學

相比用迴圈函式,遞迴函式會占用較多的空間 解決問題方法的效率跟空間的利用效率有關 需要同時儲存遞迴呼叫的所有函式,直到呼叫到結束,才釋放儲存空間。計算多項式時,利用結合律f x a 0 x a 1 x a n 1 x a n 秦九韶演算法 所需時間比階乘演算法少,加減法比乘除法快很多。抽象資料型別 ...

浙江大學資料結構(5 2 3哈夫曼編碼)

給定一段字串,如何對字元進行編碼,可以使得該字串的編碼儲存空間最小?例 假設有一段文字,包含58個字元,並由以下7個字元構成 a,e,i,s,t,空格,換行 這7個字元出現的次數不同。如何對這7個字元進行編碼,使得總編碼空間最少?分析 用等長的ascii編碼 58 8 464位 用等長3位編碼 58...