ระบบควบคุมและอัตโนมัติ
แนวทางขั้นตอนทีละขั้นเพื่อทําการขยายขอบเขตการค้นหา Linear และไบนารีในระบบฝังตัว
Table of Contents
การทําให้การถอดความของอัลกอริทึมการค้นหาในระบบฝังตัวจําเป็นสําหรับการดึงข้อมูลที่มีประสิทธิภาพ การค้นหาแบบ 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=====~
เลือกวิธีการค้นหาที่เหมาะสม
ตัวเลือกระหว่างการค้นหาแบบเชิงเส้นและไบนารีนั้น ขึ้นอยู่กับองค์การข้อมูลและขนาด ใช้การค้นหาแบบเชิงเส้นเพื่อหาข้อมูลขนาดเล็กหรือไม่มีก่อนพิมพ์ การค้นหาแบบไบนารีนั้นเหมาะกับการค้นหาขนาดใหญ่ โดยแยกข้อมูลต่าง ๆ ที่ประสิทธิภาพมีนัยสําคัญ