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

Chèn một phần tử trong các đống khoảng thời gian

Tùy thuộc vào số lượng phần tử có trong đống khoảng thời gian, có thể xảy ra các trường hợp sau -

  • Số phần tử lẻ:Nếu số phần tử trong đống khoảng thời gian là số lẻ, thì phần tử mới sẽ được chèn vào nút cuối cùng lúc đầu. Sau đó, nó được so sánh liên tiếp với các phần tử nút trước đó và được kiểm tra để đáp ứng các tiêu chí cần thiết cho một đống khoảng thời gian. Trong trường hợp nếu phần tử không đáp ứng bất kỳ tiêu chí nào, nó sẽ được chuyển từ nút cuối cùng sang nút gốc cho đến khi tất cả các điều kiện được đáp ứng.
  • Số phần tử chẵn:Nếu số phần tử là số chẵn, thì để chèn một phần tử mới, một nút phụ sẽ được tạo. Nếu phần tử rơi xuống hoặc thuộc bên trái của khoảng cha, nó được coi là nằm trong đống tối thiểu và nếu phần tử thuộc hoặc nằm ở bên phải của khoảng cha, nó được coi là trong đống tối đa. Hơn nữa, nó được so sánh liên tiếp và chuyển từ nút cuối cùng sang nút gốc cho đến khi tất cả các điều kiện cho khoảng thời gian được thỏa mãn. Nếu phần tử nằm hoặc nằm trong khoảng của chính nút cha, thì quá trình sẽ kết thúc khi đó chính nó và việc chuyển giao các phần tử sẽ không được thực hiện. Thời gian cần thiết để chèn một phần tử phụ thuộc vào số lượng chuyển động cần thiết để thỏa mãn tất cả các điều kiện và là O (log n).