Computer >> Máy Tính >  >> Lập trình >> Lập trình

Chèn một phần tử vào Deaps

Để chèn phần tử vào cấu trúc dữ liệu hủy bỏ, chúng tôi có thể cần các thủ tục để tính toán các giá trị tối thiểu và tối đa như được mô tả bên dưới -

Thủ tục min_value (m):// Để tính giá trị nhỏ nhất trong deap. trả về m-2 nhật ký 2 ( (m-1) ;

Thủ tục max_value (m):// Để tính giá trị lớn nhất trong deap. trả về m + 2 nhật ký 2 (m-1) ;

Thao tác chèn trong cấu trúc dữ liệu deap có thể được thực hiện theo cách sau -

  • Đối với bất kỳ heap b [] nào, chúng ta nên kiểm tra xem m có phải là vị trí nằm trong heap tối đa của deap hay không.
  • Sau đó, chúng tôi sẽ tính toán các giá trị tối thiểu và tối đa trong bước tắt.
  • Bây giờ, việc so sánh được thực hiện giữa các giá trị chính ở cây con bên trái và cây con bên phải.
  • Cuối cùng, chúng tôi thực hiện thao tác chèn với Thuật toán sau.
Procedure deap_insertion(b[], y, m):
if (m==1)
   b[2]=y;
else{
   if(m is in maximum subtree){
      index=min_value(m);
      if(y<b[index]){
         b[m]=b[index];
         insert y in minimum subtree;
      }
      else
         insert y in maximum subtree;
   } else {
      index=max_value(m);
   if(x>b[index]){
      b[m]=b[index];
      insert y into maximum subtree;
   }
   else
      insert y into minimum subtree;
}