Nhảy chuyển đến

2-3-4 thụ

Bổn trang giới thiệu 2-3-4 thụ. Ở máy tính khoa học trung, 2–3–4 thụ ( cũng xưng là 2–4 thụ ) là một loại tự cân bằng thụ, sở hữu lá cây tiết điểm đều ở vào cùng chiều sâu. 2-3-4 thụ là 4 giai B thụ, cùng giống nhau B thụ giống nhau, 2-3-4 thụ có thể thực hiện ởThời gian nội tiến hành tìm tòi, cắm vào cùng xóa bỏ thao tác.

2-3-4 thụ là đối 2-3 thụ khái niệm mở rộng, bao gồm 4 tiết điểm sử dụng.

2–3–4 thụ cùng hồng hắc thụ là đồng giá. Đối với mỗi cái 2–3–4 thụ, vừa lúc tồn tại một cái tương đồng trình tự hồng hắc thụ. Ngoài ra, đối 2–3–4 thụ tiến hành cắm vào cùng xóa bỏ thao tác, dẫn tới tiết điểm mở rộng, phân liệt hòa hợp cũng quá trình cùng hồng hắc thụ trung nhan sắc quay cuồng cùng xoay tròn chờ hiệu. 2–3–4 thụ thao tác trung đề cập đại lượng đặc thù tình huống, ở đại đa số biên trình ngôn ngữ trung thực hiện khả năng sẽ tương đối khó khăn. Mà hồng hắc thụ thực hiện tương đối đơn giản, bởi vậy càng thường bị sử dụng.

Định nghĩa

2-3-4 thụ tiết điểm chia làm ba loại, 2 tiết điểm, 3 tiết điểm cùng 4 tiết điểm, phân biệt bao hàm một cái, hai cái hoặc ba cái số liệu nguyên tố.

2-3-4-tree-2-node

2-3-4-tree-3-node

2-3-4-tree-4-node

Tính chất

  • Mỗi cái tiết điểm ( diệp tiết điểm hoặc bên trong tiết điểm ) có thể là 2 tiết điểm, 3 tiết điểm hoặc 4 tiết điểm, phân biệt bao hàm một cái, hai cái hoặc ba cái số liệu nguyên tố.
  • Sở hữu lá cây tiết điểm đều ở vào cùng chiều sâu ( tầng chót nhất ).
  • Sở hữu số liệu đều có tự tồn trữ.
  • Ở 2-3-4 thụ nhất hư dưới tình huống độ cao là,Ở tốt nhất dưới tình huống độ cao là( sở hữu tiết điểm đều là 4 tiết điểm ).

Thao tác

Bởi vì 2-3-4 trên cây nguyên tố là ấn nhất định trình tự tồn trữ, cho nên tra tìm cùng nhị xoa tìm tòi thụ cùng loại. Cắm vào cùng xóa bỏ đều sẽ bảo trì cân bằng tính, tức diệp tiết điểm chiều sâu tương đồng.

Cắm vào

2-3-4 thụ cắm vào chỉ biết phát sinh ở diệp tiết điểm, mà sẽ không phát sinh ở nội bộ tiết điểm. Ở diệp tiết điểm thượng cắm vào một cái giá trị, sẽ làm 2 tiết điểm biến thành 3 tiết điểm, 3 tiết điểm biến thành 4 tiết điểm, mà 4 tiết điểm liền không có không gian. Vì giải quyết vấn đề này, nơi này có hai loại ý nghĩ.

  • Tự đế hướng về phía trước, từ 4 diệp tiết giờ bắt đầu phân liệt (Thượng dật), nếu phân liệt sau này phụ tiết điểm cũng là 4 tiết điểm, tiếp tục hướng về phía trước phân liệt, thẳng đến tới căn tiết điểm. Nếu căn tiết điểm cũng là 4 tiết điểm, phân liệt sau thụ độ cao + 1.
  • Tự đỉnh xuống phía dưới, từ căn tiết điểm đến cắm vào nơi diệp tiết điểm đường nhỏ thượng, gặp được 4 tiết điểm liền đem này phân liệt.

Bổn văn chọn dùng tự đế hướng về phía trước, đem cắm vào thao tác chia làm hai bộ phận, đầu tiên căn cứ tìm tòi thụ tính chất ở diệp tiết điểm vị trí cắm vào, hình thành tạm thời5 tiết điểm,Sau đó căn cứ cắm vào tiết điểm cập tương quan tiết điểm trạng thái tiến hành cân bằng giữ gìn.

Phía dưới là 2-3-4 thụ cắm vào ví dụ.

Đầu tiên cắm vào giá trị.Từ căn tiết điểmBắt đầu tra tìm, tìm được bao gồmKhu gian,Tiến vào hữu tử tiết điểm.

2-3-4-tree-insert-1

Bởi vì tiết điểm()Là một cái 4 tiết điểm, trước đemCắm vào hình thành tạm thời5 tiết điểm.

2-3-4-tree-insert-2

Bởi vì()Vượt qua 4 tiết điểm, yêu cầu đem cái thứ hai nguyên tố thượng dật. SắpCùng phụ tiết điểm xác nhập hình thành.

2-3-4-tree-insert-3

Sau đó cắm vào.

2-3-4-tree-insert-4

Cắm vào.Hình thành 5 tiết điểm.

2-3-4-tree-insert-5

Cái thứ hai nguyên tốThượng dật, phát hiện phụ tiết điểm cũng hình thành 5 tiết điểm.

2-3-4-tree-insert-6

5 tiết điểmTrung cái thứ hai nguyên tốTiếp tục thượng dật, cuối cùng điều chỉnh hoàn thành.

2-3-4-tree-insert-7

Xóa bỏ

Từ 2-3-4 thụ trung xóa bỏ một cái nguyên tố yêu cầu căn cứ đãi xóa bỏ nguyên tố vị trí phân tình huống thảo luận.Xóa bỏ thao tác chỉ phát sinh ở diệp tiết điểm thượng.Phía dưới giới thiệu từ 2–3–4 thụ trung xóa bỏ một cái nguyên tố quá trình:

  1. Tra tìm yêu cầu xóa bỏ nào đó nguyên tố tiết điểm.
  2. Nếu tiết điểm là lá cây tiết điểm ( 3 tiết điểm hoặc 4 tiết điểm ), tắc từ nên tiết điểm trúng xóa bỏ sở cần giá trị, cũng đem số liệu nguyên tố giảm bớt 1.
  3. Nếu tiết điểm không phải lá cây tiết điểm, tắc:
    • Tra tìm nên tiết điểm nối nghiệp tiết điểm. Tiết điểm nối nghiệp là trong đó lớn hơn nó nhỏ nhất nguyên tố hoặc nhỏ hơn nó lớn nhất nguyên tố.
    • Dùng nối nghiệp tiết điểm giao đổi trước mặt tiết điểm, cũng ở lá cây trung xóa bỏ nên tiết điểm.

Nhưng nếu diệp tiết điểm là một cái 2 tiết điểm, xóa bỏ nên tiết điểm khả năng sẽ dẫn tới hạ dật ( underflow). Vì tránh cho loại tình huống này, chúng ta ở từ trên xuống dưới di động đến muốn xóa bỏ tiết điểm đường nhỏ thượng gặp được 2 tiết điểm khi, sẽ trước chấp hành dưới điều chỉnh thao tác, sử tìm được lá cây tiết điểm không phải 2 tiết điểm. Như vậy, ở lúc sau trao đổi cùng xóa bỏ sau, sẽ không xuất hiện một cái trống không diệp tiết điểm.

Case 1

Nếu trước mặt tiết điểm huynh đệ tiết điểm chi nhất là 3 tiết điểm hoặc 4 tiết điểm, tắc đem trước mặt tiết điểm cùng cái kia huynh đệ tiết điểm cùng nhau tiến hành dưới xoay tròn thao tác:

  1. Lựa chọn một cái cùng trước mặt tiết điểm nhất tiếp cận kiện giá trị huynh đệ tiết điểm.
  2. Đem nên huynh đệ tiết điểm kiện giá trị thượng chuyển qua trước mặt tiết điểm phụ tiết điểm trúng, sử phụ tiết điểm biến thành một cái 3 tiết điểm.
  3. Nguyên lai huynh đệ tiết điểm hài tử hiện tại trở thành trước mặt tiết điểm hài tử.

Hạ đồ ở 2-3-4 thụ trung xóa bỏ nguyên tố.

2-3-4-tree-delete-1

Case 2

Nếu phụ tiết điểm là 2 tiết điểm hơn nữa huynh đệ tiết điểm cũng là 2 tiết điểm. Dưới tình huống như vậy, phụ tiết điểm là căn tiết điểm. Cho nên đem này ba cái 2 tiết điểm xác nhập thành một cái tân 4 tiết điểm, cũng ngắn lại thụ độ cao.

Hạ đồ ở 2-3-4 thụ trung xóa bỏ nguyên tố.

2-3-4-tree-delete-2

Case 3

Nếu huynh đệ tiết điểm là 2 tiết điểm, nhưng phụ tiết điểm là 3 tiết điểm hoặc 4 tiết điểm:

  1. Đem liền nhau huynh đệ tiết điểm cùng nhìn xuống hai cái huynh đệ tiết điểm phụ kiện dung hợp thành một cái 4 tiết điểm ( hạ dật ).
  2. Đem huynh đệ tiết điểm tử tiết điểm chuyển qua nên tiết điểm.

Hạ đồ ở 2-3-4 thụ trung xóa bỏ nguyên tố.

2-3-4-tree-delete-3

Cùng hồng hắc thụ quan hệ

2-3-4 thụ cùng hồng hắc thụ là cùng cấu, tùy ý một cây hồng hắc thụ đều duy nhất đối ứng một cây 2-3-4 thụ. Ở 2-3-4 trên cây cắm vào cùng xóa bỏ thao tác dẫn tới tiết điểm mở rộng, phân liệt hòa hợp cũng, tương đương với hồng hắc thụ trung biến sắc cùng xoay tròn. Hạ đồ là 2-3-4 thụ 2 tiết điểm, 3 tiết điểm cùng 4 tiết điểm đối ứng hồng hắc thụ tiết điểm. Chú ý tới 2-3-4 thụ 3 tiết điểm đối ứng hồng hắc thụ trung màu đỏ tiết điểm tả thiên cùng hữu thiên hai loại tình huống, cho nên một cây hồng hắc thụ khả năng đối ứng nhiều cây 2-3-4 thụ.

2-3-4-tree-rbt-1

Hạ đồ là một cây hồng hắc thụ cùng với chi đối ứng 2-3-4 thụ. Đem hồng hắc thụ trung màu đỏ tiết điểm thượng chuyển qua phụ tiết điểm tả hữu hai sườn, hình thành một cái B thụ tiết điểm, liền có thể được đến cùng chi đối ứng 2-3-4 thụ. Có thể phát hiện, hồng hắc thụ tiết điểm số tương đương 2-3-4 thụ tiết điểm cái số.

2-3-4-tree-rbt

Phía dưới dùng tới đồ đối lập hồng hắc thụ cùng 2-3-4 thụ cắm vào cùng xóa bỏ thao tác.

Hồng hắc thụ cắm vào

Phía dưới căn cứ cắm vào tiết điểm, phụ tiết điểm cùng với tổ phụ tiết điểm tình huống đem cắm vào chia làm dưới 3 loại tình huống, mỗi loại tình huống đều bao hàm 4 loại.

  • Cắm vào tiết điểm phụ tiết điểm là màu đen, có thể trực tiếp cắm vào, không cần điều chỉnh.
  • Cắm vào tiết điểm thúc phụ tiết điểm nhưng không vì màu đỏ ( không tồn tại hoặc là vì màu đen ), yêu cầu tiến hành biến sắc + xoay tròn ( đơn toàn hoặc song toàn ).
  • Cắm vào tiết điểm thúc phụ tiết điểm là màu đỏ, yêu cầu tiến hành biến sắc cũng đem tổ phụ tiết điểm thượng dật, đệ quy xử lý.

Case 1

Cắm vào tiết điểm phụ tiết điểm là màu đen, có thể trực tiếp cắm vào, không cần tiến hành điều chỉnh. Loại tình huống này cắm vào tân tiết điểm sau hình thành 2-3-4 thụ 3 tiết điểm hoặc 4 tiết điểm. Như sau đồ cắm vào,,,Đều thuộc về loại tình huống này.

2-3-4-tree-rbt

Case 2

Cắm vào tiết điểm phụ tiết điểm là màu đỏ, tổ phụ tiết điểm là màu đen, thúc phụ tiết điểm không vì màu đỏ ( không tồn tại hoặc là vì màu đen ). Loại tình huống này cắm vào sau hình thành 2-3-4 thụ 4 tiết điểm, nhưng là trái với hồng hắc thụ tính chất ( xuất hiện hai cái liên tục màu đỏ tiết điểm ). Dựa theo phụ tiết điểm cùng tổ phụ tiết điểm vị trí có thể phân thành LL, RR, LR, RL bốn loại tình huống. Trong đó LL cùng RR yêu cầu tiến hành một lần nhuộm màu cùng đơn toàn ( ngược chiều kim đồng hồ hoặc hữu toàn ). LR cùng RL tắc yêu cầu tiến hành nhuộm màu cùng song toàn.

Như sau đồ cắm vào tiết điểm,,,Đều thuộc về loại tình huống này. Trong đó cắm vào tiết điểmCùngVì RR hình cùng LL hình,CùngVì RL hình cùng LR hình.

2-3-4-tree-rbt

Lấy cắm vào tiết điểmNêu ví dụ, dựa theo 2-3-4 thụ cắm vào phương thức trung ứng đemCắm vàoPhía bên phải, nhưng xuất hiện hai cái liên tục màu đỏ tiết điểmCùng,Bởi vậy yêu cầu trước đem phụ tiết điểmNhuộm thành màu đen, đem tổ phụ tiết điểmNhuộm thành màu đỏ cũng ngược chiều kim đồng hồ tổ phụ tiết điểm,Điều chỉnh sau thỏa mãn hồng hắc thụ tính chất. Điều chỉnh sau kết quả như sau đồ sở kỳ.

2-3-4-tree-rbt

Case 3

Cắm vào tiết điểm phụ tiết điểm cùng thúc phụ tiết điểm là màu đỏ, tổ phụ tiết điểm là màu đen. Loại tình huống này kỳ thật là hình thành một cái 2-3-4 thụ 5 tiết điểm. Yêu cầu đem phụ tiết điểm cùng thúc phụ tiết gọt giũa vì màu đen, đem tổ phụ tiết gọt giũa vì màu đỏ cũng thượng dật đến phụ tiết điểm, sau đó đệ quy xử lý. Như sau đồ cắm vào tiết điểm 1, 3, 5, 7 đều thuộc về loại tình huống này.

2-3-4-tree-rbt

Hạ đồ lấy cắm vào tiết điểmVì lệ, hình thành 5 tiết điểm vì.Đem phụ tiết điểmCùng thúc phụ tiết điểmNhiễm vì màu đen, đem tổ phụ tiết điểmNhiễm vì màu đỏ cũng thượng dật. Có thể phát hiện tiết điểmThượng dật sau vẫn yêu cầu dựa theo Case 3 xử lý, nơi này tỉnh lược cụ thể bước đi. Mặt khác ba loại tình huống điều chỉnh phương thức cùng này tương tự.

2-3-4-tree-rbt

Hồng hắc thụ xóa bỏ

Hồng hắc thụ bên trong tiết điểm xóa bỏ, sẽ thay đổi vì này đi đầu hoặc nối nghiệp tiết điểm xóa bỏ. Cho nên hồng hắc thụ tiết điểm xóa bỏ, cuối cùng đều sẽ thay đổi vì 2-3-4 thụ trung cuối cùng một hàng tiết điểm xóa bỏ ( đối ứng hồng hắc thụ cuối cùng hai hàng tiết điểm xóa bỏ ).

Case 1

Đãi xóa bỏ tiết điểm vì màu đỏ, có thể trực tiếp xóa bỏ, bởi vì xóa bỏ cuối cùng một tầng màu đỏ tiết điểm sẽ không trái với hồng hắc thụ tính chất.

Case 2

Đãi xóa bỏ tiết điểm vì màu đen, yêu cầu tiến hành điều chỉnh mới có thể thỏa mãn hồng hắc thụ hắc cân bằng. Trong đó màu đen tiết điểm có thể chia làm dưới ba loại tình huống.

Case 2.1

Đãi xóa bỏ màu đen tiết điểm có hai cái màu đỏ tử tiết điểm màu đen tiết điểm ( 2-3-4 thụ 4 tiết điểm ). Xóa bỏ nên tiết điểm sẽ thay đổi vì này đi đầu hoặc nối nghiệp tiết điểm xóa bỏ, cho nên nơi này không làm suy xét.

Case 2.2

Đãi xóa bỏ màu đen tiết điểm có một cái màu đỏ tử tiết điểm màu đen tiết điểm ( 2-3-4 thụ 3 tiết điểm ). Yêu cầu dùng duy nhất màu đỏ tử tiết điểm thay thế bị xóa bỏ tiết điểm, cũng đem nên màu đỏ tử tiết gọt giũa vì màu đen. Như sau đồ xóa bỏ tiết điểm,Yêu cầu dùng duy nhất màu đỏ tử tiết điểmThay thế, cũng đem này nhiễm vì màu đen.

2-3-4-tree-rbt

Điều chỉnh xong kết quả như sau đồ sở kỳ.

2-3-4-tree-rbt

Case 2.3

Đãi xóa bỏ màu đen tiết điểm vì màu đen diệp tiết điểm ( đối ứng 2-3-4 thụ xóa bỏ lá cây 2 tiết điểm dẫn tới hạ dật tình huống ), yêu cầu tiến hành điều chỉnh, cụ thể có thể chia làm dưới ba loại tình huống.

Case 2.3.1

Đãi xóa bỏ tiết điểm làm gốc tiết điểm, trước mặt chỉ có một cái tiết điểm, có thể trực tiếp xóa bỏ.

Case 2.3.2

Đãi xóa bỏ tiết điểm huynh đệ tiết điểm vì màu đen.

  • Huynh đệ tiết điểm có màu đỏ tử tiết điểm ( chia làm ba loại, có một cái tả màu đỏ tử tiết điểm, hoặc có một cái hữu màu đỏ tử tiết điểm, hoặc hai cái màu đỏ tử tiết điểm ), yêu cầu mượn huynh đệ tiết điểm tử tiết điểm tiến hành điều chỉnh. Hạ đồ lấy xóa bỏ tiết điểm,Này có một cái màu đỏ tả tử tiết điểmVì lệ, loại tình huống này yêu cầu tiến hành xoay tròn cùng nhuộm màu. Quan sát đến đãi xóa bỏ tiết điểm phụ tiết điểm, huynh đệ tiết điểm, huynh đệ tiết điểm tử tiết điểm quan hệ vì LL hình, chỉ cần hữu toàn một lần, cũng đem trung gian tiết điểmNhiễm vì màu đỏ, hai cái tử tiết điểmCùngNhiễm vì màu đen.

    2-3-4-tree-rbt

    Hạ đồ là điều chỉnh sau kết quả. Mặt khác hai loại tình huống, có một cái màu đỏ hữu tử tiết điểm tình huống yêu cầu tiến hành song toàn cùng nhuộm màu, có hai cái màu đỏ tử tiết điểm tình huống có thể nhậm tuyển trong đó một cái tiến hành điều chỉnh.

    2-3-4-tree-rbt

  • Huynh đệ tiết điểm không có màu đỏ tử tiết điểm, yêu cầu đem huynh đệ tiết gọt giũa hồng, phụ tiết gọt giũa hắc. Nếu phụ tiết điểm nguyên lai liền vì màu đen, yêu cầu đem phụ tiết điểm làm như đã bị xóa bỏ tiết điểm xử lý, sau đó hướng về phía trước đệ quy điều chỉnh.

    Như sau đồ sở kỳ, đãi xóa bỏ tiết điểm,Này huynh đệ tiết điểmKhông có màu đỏ tử tiết điểm, phụ tiết điểmVì màu đỏ, yêu cầu đem phụ tiết điểm hạ dật ( đối ứng 2-3-4 thụ trung xóa bỏ lá cây 2 tiết điểm tướng phụ tiết điểm hạ dật tình huống, ở hồng hắc thụ trung không cần thao tác ) cũng nhiễm hắc, đemNhiễm hồng.

    2-3-4-tree-rbt

    Hạ đồ là đãi xóa bỏ tiết điểm phụ tiết điểm nguyên lai liền vì màu đen tình huống. Điều chỉnh sau bởi vì phụ tiết điểmĐã xảy ra hạ dật, yêu cầu đem phụ tiết điểmLàm như một cái xóa bỏ tiết điểm hướng về phía trước đệ quy điều chỉnh.

    2-3-4-tree-rbt

Case 2.3.3

Đãi xóa bỏ tiết điểm huynh đệ tiết điểm vì màu đỏ, yêu cầu chuyển biến vì huynh đệ tiết điểm vì màu đen tình huống tiến hành xử lý. Cụ thể thao tác là đem phụ tiết điểm xoay tròn, đem huynh đệ tiết gọt giũa hắc, phụ tiết gọt giũa hồng, sau đó thay đổi thành đãi xóa bỏ tiết điểm huynh đệ tiết điểm vì màu đen tình huống tiếp tục tiến hành điều chỉnh. Như sau đồ sở kỳ, đãi xóa bỏ đãi xóa bỏ tiết điểm,Này huynh đệ tiết điểmVì màu đỏ, căn cứ vị trí quan hệ cũng biết yêu cầu đem phụ tiết điểm hữu toàn, cũng đem phụ tiết gọt giũa hồng, huynh đệ tiết gọt giũa hắc, thay đổi thành đãi xóa bỏ tiết điểm huynh đệ tiết điểm vì màu đen tình huống.

2-3-4-tree-rbt

Tham khảo tư liệu

  1. 2–3–4 tree - Wikipedia
  2. 2-3-4 Trees | Algorithm Tutor
  3. 2-3-4 Tree - GeeksforGeeks