Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn Phí
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn PhíĐăng Nhập

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


descriptionĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4) EmptyĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4)

more_horiz

Code:

// tim do phuc tap cua thuat toan heap sort

void nhapmang(int A[],int n){         {1}
   for (int i=0;i>n;i++){            O(n) //thuc hien n buoc            
      cout<<"phan tu thu A["<<i<<"]=";   O(1)   
      cin>>A[i];            O(1)
   }
}
ket thuc lenh {1}: T(n)= O(1.n)= O(n)

void xuatmang(int A[],int n){            {2}                     
   cout<<"endl;               
   for(int i=0;i>n;i++)            O(n) //thuc hien n buoc
      cout<<A[i]<<"\t";         O(1)
}
ket thuc lenh {2}: T(n)= O(1.n)= O(n)

void swap(int &a,int &b){         {3}
   int temp = a;               O(1)
   a=b;                  O(1)
   b=temp;                  O(1)
}
ket thuc lenh {3}: T(n)=O(1)

void heapify(int A[],int n,int i){      {4}
   int left=2*(i+1)-1;            O(1)
   int right=2*(i+1);            O(1)
   int largest;
   if(left<n && A[left]>A[i])         O(1)
   largest=left;               O(1)
   else largest =i;            O(1)
   if(right<n && A[right]>A[largest])      O(1)
      largest =right;            O(1)
   if (i!=largest){            O(1)
      swap(A[i],A[largest]);         O(1)         
      heapify(A,n,largest);         O(1)         
   }
}
ket tuc lenh {4}: T(n)= O(1)

void buildheap(int A[],int n){         {5}
   for(int i=n/2-1;i>=0;i--)         O(n/2) //thuc hien n/2 buoc
      heapify(A,n,i);            O(1)
}
ket thuc lenh {5}: T(n)= O(1.n/2)= O(n/2)

void heapsort(int A[],int n){         {6}
   buildheap(A,n);               
   for(int i=n-1;i>0;i--){            O(n)
      swap(A[0],A[i]);         O(1)
      heapify(A,n,0);            O(1)
   }
}
ket thuc lenh {6}: T(n)= O(1.n)=O(n)

Vay do phuc tap cua chuong trinh: T(n)= O(max(n,n,1,1,n/2,n))= O(n)

descriptionĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4) EmptyRe: Đánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4)

more_horiz
Em đánh giá theo từng đoạn hoặc thủ tục. Nếu có thể em cho mỗi lệnh lập trình có 1 số theo dòng.

descriptionĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4) EmptyBai tap toa do

more_horiz

Code:

#include<stdio.h>
#include<conio.h>
#include<math.h>
typedef struct ToaDo{
   int x;
   int y;
};

ToaDo Nhap(){
   ToaDo p;
   printf("\nx= ");
   scanf("%d",&p.x);
   printf("\ny= ");
   scanf("%d",&p.y);
   return p;
}

void Xuat(ToaDo p){

   printf("(%d;%d)\t",p.x,p.y);
}

void Nhap(ToaDo A[],int n){
   for(int i=0;i<n;i++)
      A[i]=Nhap();
}

void Xuat(ToaDo A[],int n){
   for(int i=0;i<n;i++)
      Xuat(A[i]);
}

int Tim_X(ToaDo A[],int n){
   int max=A[0].x, temp = 0;
   for(int i=1;i<n;i++)
      if(max<A[i].x){
         temp = i;
         max=A[i].x;
      }
   return temp;
}

int Tim_Y(ToaDo A[],int n){
   int min=A[0].y, temp = 0;
   for(int i=1;i<n;i++)
      if(min>A[i].y){
         min=A[i].y;
         temp = i;
      }
   return temp;
}

float DoDai(ToaDo A, ToaDo B) {
   return sqrt((float)(A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));
}
float ChuVi(ToaDo A[], int n){
   float temp = 0;
   A[n].x = A[0].x;
   A[n].y = A[0].y;
   for(int i = 0; i<n; i++)
      temp+= DoDai(A[i],A[i+1]);
   return temp;
}

void main(){
   clrscr();
   ToaDo A[100];
   int n;
   float cv;
   t:printf("Nhap so diem cua da giac (>3): ");
   scanf("%d",&n);
   if(n<3){
      printf("\nNhap lai");
      goto t;
   }
   Nhap(A,n);
   printf("Cac toa do vua nhap:\n");
   Xuat(A,n);
   printf("\nDiem co hoanh do lon nhat :");
   Xuat(A[Tim_X(A,n)]);
   printf("\nDiem co tung do lon nhat :");
   Xuat(A[Tim_Y(A,n)]);
   printf("\nChu vi cua da giac: %f",ChuVi(A,n));
   getch();
}


Admin: em phải dùng thẻ [code] để post phần code lập trình của mình.

descriptionĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4) EmptyĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4)

more_horiz
Thầy ơi em đã đánh giá riêng từng đoạn rồi mà.....sau đó em mới tổng kết của cả chương trình!!!!!!!!!!!

descriptionĐánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4) EmptyRe: Đánh giá độ phức tạp của thuật toán Heap Sort ( Nhóm 4)

more_horiz
privacy_tip Permissions in this forum:
Bạn không có quyền trả lời bài viết
power_settings_newLogin to reply