การทําให้การถอดความของอัลกอริทึมการค้นหาในระบบฝังตัวจําเป็นสําหรับการดึงข้อมูลที่มีประสิทธิภาพ การค้นหาแบบ Linear และไบนารีนั้น มีสองวิธีการทั่วไปที่ใช้กันบนโครงสร้างข้อมูลและข้อจํากัดของระบบ มัคคุเทศก์นี้ให้คําแนะนําทีละขั้น ๆ เพื่อปรับใช้อัลกอริทึมทั้งสองตัวในสภาพแวดล้อมที่ฝังตัว

การค้นหาแบบ Linear

Linear การค้นหาแต่ละองค์ประกอบในรายการแยกประเภทจนกระทั่งพบค่าเป้าหมายหรือรายการสิ้นสุด

ขั้น ตอน ต่าง ๆ ใน การ จัด การ สืบค้น โดย ใช้ เชิงเส้น:

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

ชิ้นส่วนรหัสตัวอย่าง:

[FLT: 0] in C:

''c inst alse selique [int arrip [], int, int, int, intbact bact bact,(int debt)'(int).(int=0, i < ขนาด; i++) {ถ้า (ar[in] < root)))(กลับเป็น). ผลตอบแทนของค่า int, int, int, int, intbook; / ไม่ปรากฏตัว -- owo

การค้นหาเมื่อไบนารีถูกเติมเต็ม

การ ค้น หา แบบ ไบนารี ต้อง มี การ เรียง เรียง และ แบ่ง ช่วง การ ค้น หา โดย ใช้ ตัว เลข ตัว เลข แต่ ละ ตัว.

ขั้น ตอน ต่าง ๆ ที่ จะ ใช้ ใน การ สืบค้นไบนารี:

  • ตั้งค่าการลงรหัสแบบต่ําและสูง
  • คํานวณดัชนีกลาง
  • เปรียบเทียบองค์ประกอบตรงกลางกับเป้าหมาย
  • หากเท่ากัน จงคืนดัชนีกลาง
  • ถ้าเป้าหมายลดลง ปรับให้สูงตรงกลาง - 1.
  • ถ้าเป้าหมายมากกว่า ปรับให้ต่ําลงที่ตรงกลาง +1
  • ย้ําจนกว่าจะพบเป้าหมาย หรือพบค่าต่ําเกิน

ชิ้นส่วนรหัสตัวอย่าง:

[FLT: 0] in C:

'' c inst biography search(int ar-flow), an int, int, intent defoot (int)' (int access [int access [int], at, int, spact, int, intent defoot; (rt); load=1; อื่น ๆ(h; o/} pril; pril=1; ⁇ ⁇ ; ⁇ ⁇ / unr/ov; no burn=h=h=h=;/h=====~

เลือกวิธีการค้นหาที่เหมาะสม

ตัวเลือกระหว่างการค้นหาแบบเชิงเส้นและไบนารีนั้น ขึ้นอยู่กับองค์การข้อมูลและขนาด ใช้การค้นหาแบบเชิงเส้นเพื่อหาข้อมูลขนาดเล็กหรือไม่มีก่อนพิมพ์ การค้นหาแบบไบนารีนั้นเหมาะกับการค้นหาขนาดใหญ่ โดยแยกข้อมูลต่าง ๆ ที่ประสิทธิภาพมีนัยสําคัญ