บ้าน การเงินส่วนบุคคล ไบนารี่ 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

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

รูปสัตว์ใกล้เคียงและแมลง - หุ่น

รูปสัตว์ใกล้เคียงและแมลง - หุ่น

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

Close-up การถ่ายภาพธรรมชาติที่ Dawn - Dummies

Close-up การถ่ายภาพธรรมชาติที่ Dawn - Dummies

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

เมฆมากความสว่างและสมดุลสีขาว - มัด

เมฆมากความสว่างและสมดุลสีขาว - มัด

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

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

การใช้ Dubsmash - Dummies

การใช้ Dubsmash - Dummies

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

วิธีการใช้เจลสีและตัวกรองในการสร้างภาพยนตร์ดิจิทัล - มัมมี่

วิธีการใช้เจลสีและตัวกรองในการสร้างภาพยนตร์ดิจิทัล - มัมมี่

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

วิธีการใช้หลอดไส้ในภาพยนตร์ดิจิตอลของคุณ - มัมมี่

วิธีการใช้หลอดไส้ในภาพยนตร์ดิจิตอลของคุณ - มัมมี่

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

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

ปรับ Brightness และ Contrast ด้วย Smart Brush Tool ใน Photoshop Elements - Dummies

ปรับ Brightness และ Contrast ด้วย Smart Brush Tool ใน Photoshop Elements - Dummies

Smart เครื่องมือแปรงใน Photoshop Elements ช่วยให้คุณสามารถเลือกใช้การปรับภาพหรือเทคนิคพิเศษที่ปรากฏบนภาพทั้งหมดหรือบางส่วน

ปรับอุณหภูมิสีด้วย Photo Filters ใน Photoshop Elements 10 - Dummies

ปรับอุณหภูมิสีด้วย Photo Filters ใน Photoshop Elements 10 - Dummies

องค์ประกอบจะให้รูปดิจิตอล ของตัวกรองสีสมัยเก่าด้วยคำสั่ง Photo Filter แสงมีอุณหภูมิสีเอง ภาพที่ถ่ายด้วยอุณหภูมิสีสูงกว่าจะทำให้ภาพมีสีฟ้า ตรงกันข้ามภาพที่ถ่ายด้วยอุณหภูมิสีที่ต่ำกว่าจะทำให้ภาพมีสีเหลือง ในสมัยก่อนช่างภาพใช้

ปรับค่า Contrast และ Color ด้วย Photoshop Elements Levels Adjustment - Dummies

ปรับค่า Contrast และ Color ด้วย Photoshop Elements Levels Adjustment - Dummies

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