題目鏈結
二叉堆就是一顆完全二叉樹,有往下越來越大的,也有往下越來越小的,都可以,優先佇列是越來越大的;
這個題就是模擬建一顆二叉樹,然後向上列印就行了,有乙個地方就是根節點是啊a[0]把它設定成無限小,就行了。
code:
#include #include #include using namespace std;
int a[50000];
void insert(int n,int lev) //這個就是建數過程,從最後乙個開始插入,如果比父節點小就與父節點交換位置,否則就差在這
//個點。
a[lev]=n;
}void print(int n)
cout<>n>>m;
for(int i=1;i<=n;i++)
for(int i=1;i<=m;i++)
return 0;
}
7 5 堆中的路徑 (25 分)
將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數n和m 1000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小頂堆的整數。最後一行給出m個下標。對輸...
7 5 堆中的路徑 25分
7 5 堆中的路徑 25分 將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。輸入格式 每組測試第1行包含2個正整數n和m 1000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小...
路徑包含空格 75 堆中的路徑 25分
7 5 堆中的路徑 25分 將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數n和m 1000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小頂堆的整數...