主题:急急急,哪位大哥给看一下啊
已知(K1,K2,...,Kp)是堆,则可以写一个时间复杂度为O(logn)的算法将(K1,K2,...Kp,Kp+1)调整为堆.试编写"从P=1起,逐个插入建堆"的算法,并讨论由此方法建堆的时间复杂度.
我编的程序哪位大哥帮我改改啊
#include "stdio.h"
#define MAX_SIZE 100
#define FALSE 0
#define TRUE 1
#define Swap(x,y,t)((t)=(x),(x)=(y),(y)=(t))
typedef struct info{
int key;
}
Void Build_Heap(Heap &H,int n)
{
for(i=2;i<n;i++)
{j=i;
while(j!=1)
{k=j/2;
if(H.r[j].key>H.r[k].key)
H.r[j]<->H.r[k];
j=k;
}
}
}
Void main()
{element heap[MAX_SIZE];
int n=20;
Build_Heap(H,20);
}
我编的程序哪位大哥帮我改改啊
#include "stdio.h"
#define MAX_SIZE 100
#define FALSE 0
#define TRUE 1
#define Swap(x,y,t)((t)=(x),(x)=(y),(y)=(t))
typedef struct info{
int key;
}
Void Build_Heap(Heap &H,int n)
{
for(i=2;i<n;i++)
{j=i;
while(j!=1)
{k=j/2;
if(H.r[j].key>H.r[k].key)
H.r[j]<->H.r[k];
j=k;
}
}
}
Void main()
{element heap[MAX_SIZE];
int n=20;
Build_Heap(H,20);
}