บ้าน การเงินส่วนบุคคล ไบนารี่ Heaps และต้นไม้การค้นหาแบบไบนารีที่ใช้ในอัลกอริทึม - Dummies

ไบนารี่ Heaps และต้นไม้การค้นหาแบบไบนารีที่ใช้ในอัลกอริทึม - Dummies

Anonim

โครงสร้างแบบพิเศษคือ กองเลขฐานสอง ซึ่งจะวางองค์ประกอบแต่ละโหนดไว้ในลำดับที่พิเศษ ต้นไม้ค้นหาช่วยให้คุณสามารถค้นหาข้อมูลได้อย่างรวดเร็ว การได้รับข้อมูลการเรียงลำดับไว้ในต้นไม้แล้วการค้นหาต้นไม้นั้นเป็นอีกวิธีหนึ่งที่สามารถหาข้อมูลได้เร็วขึ้น

ในฮีปไบนารีโหนดรากจะมีค่าน้อยที่สุด เมื่อดูสาขาคุณจะเห็นว่าสาขาระดับบนมีมูลค่าน้อยกว่าสาขาและใบที่ต่ำกว่า ผลคือให้ต้นไม้มีความสมดุลและอยู่ในลำดับที่สามารถคาดเดาได้เพื่อให้การค้นหามีประสิทธิภาพมาก ค่าใช้จ่ายอยู่ในการรักษาสมดุลของต้นไม้

ในงานทั้งหมดที่แอปพลิเคชันทำาการค้นหาจะใช้เวลามากและต้องใช้เวลามากที่สุด แม้ว่าการเพิ่มข้อมูล (และการจัดเรียงข้อมูลในภายหลัง) จะต้องใช้เวลานาน แต่ประโยชน์ที่จะสร้างและเก็บรักษาชุดข้อมูลมาจากการใช้งานเพื่อทำผลงานที่เป็นประโยชน์ซึ่งหมายถึงการค้นหาข้อมูลที่สำคัญ ดังนั้นบางครั้งคุณอาจได้รับโดยมีประสิทธิภาพน้อยกว่า CRUD ฟังก์ชันและแม้กระทั่งขั้นตอนการจัดเรียงน้อยกว่าเหมาะสม แต่การค้นหาต้องดำเนินการอย่างมีประสิทธิภาพที่สุด ปัญหาเดียวคือไม่มีใครทำการค้นหาทุกงานที่มีประสิทธิภาพอย่างสมบูรณ์ดังนั้นคุณต้องชั่งน้ำหนักตัวเลือกของคุณตามสิ่งที่คุณคาดหวังว่าจะทำเป็นส่วนหนึ่งของขั้นตอนการค้นหา

สองวิธีที่มีประสิทธิภาพมากในการค้นหาคือการใช้ไบนารีการค้นหาต้นไม้ (BST) และกองไบนารี เทคนิคการค้นหาทั้งสองแบบอาศัยโครงสร้างแบบต้นไม้เพื่อเก็บคีย์ที่ใช้เพื่อเข้าถึงองค์ประกอบข้อมูล อย่างไรก็ตามการจัดเรียงสองวิธีนี้แตกต่างกันซึ่งเป็นเหตุผลหนึ่งที่มีข้อได้เปรียบมากกว่าการปฏิบัติงานบางอย่าง รูปนี้แสดงการจัดเรียง BST

การจัดคีย์เมื่อใช้ BST

โปรดทราบว่าปุ่มทำตามคำสั่งที่มีตัวเลขน้อยกว่าปรากฏทางซ้ายและใหญ่กว่าปรากฏทางด้านขวา โหนดรากมีค่าอยู่ตรงกลางของช่วงของคีย์ทำให้ BST เป็นวิธีที่เข้าใจได้ง่ายในการจัดเก็บคีย์ เปรียบเทียบการจัดเรียงนี้กับกองไบนารีที่แสดงไว้ที่นี่

การจัดคีย์เมื่อใช้กองไบนารี

แต่ละระดับประกอบด้วยค่าที่น้อยกว่าระดับก่อนหน้าและรากมีค่าคีย์สูงสุดสำหรับต้นไม้ นอกจากนี้ในกรณีนี้ค่าที่น้อยกว่าจะปรากฏที่ด้านซ้ายและด้านขวามากขึ้น (แม้ว่าคำสั่งนี้จะไม่บังคับใช้อย่างเคร่งครัด) ตัวเลขแสดงภาพ

ตามที่ระบุไว้ก่อนหน้านี้ BST มีข้อดีเหนือกองกองเลขฐานสองเมื่อใช้ในการค้นหา รายการต่อไปนี้แสดงไฮไลต์ข้อดีดังต่อไปนี้

  • การค้นหาองค์ประกอบต้องใช้เวลา O (log n) เทียบกับเวลา O (n) สำหรับกองไบนารี
  • การพิมพ์องค์ประกอบตามลำดับต้องใช้เฉพาะเวลา O (log n) เทียบกับเวลา O (n log n) สำหรับกองไบนารี
  • การหาพื้นและเพดานต้องใช้เวลา O (log n)
  • การหาองค์ประกอบที่เล็กที่สุด / ใหญ่ที่สุด Kth ต้องใช้เวลา O (log n) เมื่อต้นไม้ถูกกำหนดค่าอย่างถูกต้อง

เวลาเหล่านี้มีความสำคัญหรือไม่ขึ้นอยู่กับแอ็พพลิเคชันของคุณ BST มีแนวโน้มที่จะทำงานได้ดีที่สุดในสถานการณ์ที่คุณใช้เวลาในการค้นหามากขึ้นและใช้เวลาในการสร้างต้นไม้น้อยลง กองไบนารีมีแนวโน้มที่จะทำงานได้ดีที่สุดในสถานการณ์แบบไดนามิกซึ่งกุญแจเปลี่ยนเป็นประจำ heap แบบไบนารียังมีข้อดีตามที่อธิบายไว้ในรายการต่อไปนี้:

  • การสร้างโครงสร้างที่ต้องการต้องใช้ทรัพยากรน้อยลงเนื่องจากกองไบนารีพึ่งพิงอาร์เรย์ทำให้แคชเป็นมิตรกับตัวเองเช่นกัน
  • การสร้างกองไบนารี่ต้องใช้เวลา O (n) ซึ่งตรงข้ามกับ BST ซึ่งต้องใช้เวลา O (n log n)
  • การใช้คำแนะนำเพื่อใช้ต้นไม้ไม่จำเป็น
  • อาศัยการเปลี่ยนแปลง heap แบบไบนารี (เช่น Fibonacci Heap) มีข้อดีเช่นการเพิ่มและลดเวลาสำคัญของ O (1) time
ไบนารี่ Heaps และต้นไม้การค้นหาแบบไบนารีที่ใช้ในอัลกอริทึม - Dummies

ตัวเลือกของบรรณาธิการ

ใช้สำเนียงกระดาษในการจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัดหนังสือ

ใช้สำเนียงกระดาษในการจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัดหนังสือ

สำเนียงกระดาษเช่นอุปกรณ์และของตกแต่งอื่น ๆ สามารถนำเสนออาหารได้อย่างดีสำหรับกล้องในรูปแบบอาหารและภาพถ่ายอาหารของคุณ เอกสารที่ละเอียดอ่อนเหล่านี้อาจเป็นสำเนียงเล็ก ๆ น้อย ๆ ที่สมบูรณ์แบบสำหรับการตั้งค่าการถ่ายภาพธรรมดาและบางครั้งก็น่าเบื่อ ถ้าใช้แบบดั้งเดิมตุ๊กตาหมุดก็ไม่ใช่ของคุณหรือถ้าคุณกำลังมองหาบางสิ่งบางอย่าง ...

ใช้ขาตั้งกล้องเพื่อลดการสั่นของกล้อง - มัมมี่

ใช้ขาตั้งกล้องเพื่อลดการสั่นของกล้อง - มัมมี่

ในการถ่ายภาพระยะใกล้และระยะใกล้มากที่สุด อุปสรรคยากที่จะเอาชนะ คุณอาจพบวัตถุที่เคลื่อนที่ (เช่นผึ้งยุ่ง) กล้องของคุณอาจสั่นสะเทือนในระหว่างการรับแสงเนื่องจากสาเหตุต่างๆและลมอาจทำให้ทุกสิ่งในฉากของคุณเคลื่อนที่ได้ การจัดการกับท่าทางของคุณขึ้นอยู่กับเรื่องของคุณ ...

การใช้ภาพถ่ายและผ้าลินินเพื่อจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัมมี่

การใช้ภาพถ่ายและผ้าลินินเพื่อจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัมมี่

ห้องสมุดสำหรับตกแต่งบ้านที่มีสินค้า เช่นจานและผ้าสำหรับธุรกิจถ่ายภาพอาหารช่วยให้คุณสามารถจัดรูปถ่ายของคุณได้ ขณะที่คุณรวบรวมอาหารผ้าเช็ดปากและสิ่งอื่น ๆ เก็บไว้ในบ้านหรือในสตูดิโอเพื่อจัดระเบียบและจัดเก็บวัสดุของคุณ การเก็บเข้าลิ้นชักโลหะอุตสาหกรรมทำได้ดีและช่วยให้คุณเห็นทุกอย่าง ...

ตัวเลือกของบรรณาธิการ

การเพิ่มข้อมูลลงในภาพเดียวบน Canon EOS 6D ของคุณ - หุ่น

การเพิ่มข้อมูลลงในภาพเดียวบน Canon EOS 6D ของคุณ - หุ่น

ข้อมูลเมตามีประสิทธิภาพมาก เมื่อคุณเพิ่มข้อมูลเมตาลงในรูปภาพใน EOS 6D จะหาได้ง่ายขึ้น ข้อมูลนี้สามารถใช้งานได้หากคุณตัดสินใจแยกสาขาออกและพยายามขายรูปภาพบางส่วนในหน่วยงานภาพสต็อก ข้อมูลเมตายิ่งมีมากเท่าไหร่ก็ยิ่งหาได้ง่ายกว่า ...

การปรับช่องมองภาพบนกล้อง Canon EOS 70D - Dummies

การปรับช่องมองภาพบนกล้อง Canon EOS 70D - Dummies

ใน Canon EOS 70D, ใกล้ด้านขวาบนของสายยางที่ล้อมรอบช่องมองภาพเป็นปุ่มหมุน (ดูรูปต่อไปนี้) ที่ช่วยให้คุณปรับโฟกัสของช่องมองภาพให้ตรงกับสายตาของคุณ ปุ่มหมุนนี้เป็นที่รู้จักอย่างเป็นทางการว่าเป็นตัวควบคุมการปรับสายตา หากไม่ใช้ขั้นตอนนี้ฉากที่ปรากฏ ...

ตัวเลือกของบรรณาธิการ

สิ่งที่ควรค้นหาในซอฟต์แวร์การถ่ายภาพ HDR - ดัมมี่

สิ่งที่ควรค้นหาในซอฟต์แวร์การถ่ายภาพ HDR - ดัมมี่

องค์ประกอบที่สำคัญที่สุดของการถ่ายภาพแบบไดนามิกสูงคือ ไม่แปลกใจที่แอพพลิเคชันซอฟต์แวร์ HDR นี่คือสิ่งที่คุณใช้ในการเปลี่ยนภาพถ่ายที่ถ่ายคร่อมของคุณ (และการเปิดรับแสงดิบแบบดิบเพียงครั้งเดียวสำหรับ pseudo-HDR) ในภาพช่วงไดนามิคสูงและแผนที่โทนเพื่อสร้างภาพที่มีความอิ่มตัวและดึงดูดความสนใจดังที่แสดงในภาพนี้ ใช้เวลาลอง ...

เมื่อต้องการแปลง HDR เป็นขาวดำ - ม้วน

เมื่อต้องการแปลง HDR เป็นขาวดำ - ม้วน

หนึ่งตัวเลือกเพื่อสร้างสีดำและสีขาวสูง ภาพช่วงไดนามิก (HDR) คือการแปลงภาพถ่ายสีของคุณให้เป็นขาวดำก่อนใช้ภาพเหล่านี้เพื่อสร้างภาพ HDR คุณมีสองตัวเลือกเพื่อเลือกว่านี่คือทิศทางที่คุณต้องการหรือไม่: แปลงระหว่าง Conversion ดิบ แปลงระหว่างการทำแผนที่โทน หากเลือก ...

สิ่งที่ควรนำมาสู่การถ่ายภาพอาหารนอกสถานที่ - มัมมี่

สิ่งที่ควรนำมาสู่การถ่ายภาพอาหารนอกสถานที่ - มัมมี่

รายการตรวจสอบคือ เพียงวิธีเดียวในการจดจำทุกอย่างที่คุณต้องการสำหรับการถ่ายภาพอาหารนอกสถานที่ขนาดใหญ่ เมื่อเขียนรายการตรวจสอบลองพิจารณาด้านต่างๆของการถ่ายทำที่กำลังจะเกิดขึ้น รายการที่ครอบคลุมมากขึ้นดีกว่า จดจำพื้นฐานสำหรับการจัดเตรียมอาหารและการถ่ายภาพอย่าลืมข้อมูลเบื้องต้นเกี่ยวกับชุดของคุณ ...