Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การแสดงอาร์เรย์ของ Binary Heap


ต้นไม้ไบนารีที่สมบูรณ์ซึ่งตามคุณสมบัติของการจัดลำดับฮีปเรียกว่า ไบนารีฮีป .

จากการเรียงลำดับของไบนารีฮีป มันสามารถเป็นได้สองประเภท -

นาทีฮีป คือฮีปที่ค่าของโหนดมากกว่าหรือเท่ากับค่าของโหนดหลัก โหนดรูทของฮีปขั้นต่ำนั้นเล็กที่สุด

ฮีปสูงสุด คือฮีปที่ค่าของโหนดน้อยกว่าหรือเท่ากับค่าของโหนดหลัก โหนดรูทของฮีปสูงสุดนั้นยิ่งใหญ่ที่สุด

โดยทั่วไป ค่าของไบนารีฮีปจะแสดงเป็น อาร์เรย์ . การแทนค่าอาร์เรย์ของไบนารีฮีปเป็น −

  • ดัชนีขององค์ประกอบรากคือ 0

  • ถ้า i เป็นดัชนีของโหนดในอาร์เรย์ จากนั้นโหนดอื่นที่เกี่ยวข้องกับโหนดจะเป็นดัชนีในอาร์เรย์เป็น −

    • ลูกซ้าย :(2*i)+1

    • ลูกขวา :(2*i)+2

    • แม่ลูก :(i-1)/2

การใช้กฎข้างต้นของการแสดงอาร์เรย์ของเราสามารถแสดงฮีปในอาร์เรย์ได้ -

การแสดงอาร์เรย์ของ Binary Heap

1 4 7 8 9 11 12

ตอนนี้ ประเภทของฮีปตามการสั่งซื้อสามารถพูดคุยได้ที่นี่

  • มินฮีป − โหนดรูทมีค่าต่ำสุด ค่าของโหนดมากกว่าค่าของโหนดหลัก

ตัวอย่าง −

การแสดงอาร์เรย์ของ Binary Heap


การแทนค่าอาร์เรย์ -

1 4 7 6 9 10 8
  • แม็กซ์ฮีป − โหนดรูทมีโหนดสูงสุด ค่าของโหนดน้อยกว่าค่าของโหนดหลัก

ตัวอย่าง −

การแสดงอาร์เรย์ของ Binary Heap


การแทนค่าอาร์เรย์ -

11 8 9 6 4 5 1