อัลกอริธึม Apostolico–Giancarlo
ในวิทยาการคอมพิวเตอร์อัลกอริทึม Apostolico–Giancarloเป็นรูปแบบหนึ่งของอัลกอริทึมการค้นหาสตริง Boyer–Mooreซึ่งการใช้งานพื้นฐานคือการค้นหาการปรากฏของรูปแบบPในข้อความTเช่นเดียวกับการค้นหาสตริงแบบเปรียบเทียบอื่นๆ การค้นหานี้ทำได้โดยการจัดเรียงP ให้ตรง กับดัชนีที่กำหนดของTและตรวจสอบว่ามีการตรงกันที่ดัชนีนั้นหรือไม่ จากนั้นPจะถูกเลื่อนไปเมื่อเทียบกับTตามกฎของอัลกอริทึม Boyer–Moore และกระบวนการจะทำซ้ำจนกว่าจะถึงจุดสิ้นสุดของTการใช้กฎการเลื่อนของ Boyer–Moore มักส่งผลให้ข้อความส่วนใหญ่ถูกข้ามไปโดยสิ้นเชิง
ในส่วนของการดำเนินการเลื่อนตำแหน่งนั้น วิธี Apostolico–Giancarlo มีฟังก์ชันการทำงานเทียบเท่ากับ Boyer–Moore อย่างแท้จริง ประโยชน์ของ Apostolico–Giancarlo คือการเร่งความเร็วในการตรวจสอบการจับคู่ที่ดัชนีใดๆ ก็ตาม ด้วย Boyer–Moore การค้นหาการปรากฏของPในTจำเป็นต้องจับคู่ตัวอักษรทั้งnตัวของPอย่างชัดเจน สำหรับรูปแบบและข้อความบางอย่าง วิธีนี้ไม่มีประสิทธิภาพมากนัก ตัวอย่างง่ายๆ คือ เมื่อทั้งรูปแบบและข้อความประกอบด้วยตัวอักษรที่ซ้ำกัน ในกรณีนี้ Boyer–Moore จะทำงานในเวลาO( nm )โดยที่mคือความยาวของตัวอักษรในT Apostolico–Giancarlo เร่งความเร็วนี้โดยการบันทึกจำนวนตัวอักษรที่ตรงกันในการจัดเรียงของTในตาราง ซึ่งจะรวมกับข้อมูลที่รวบรวมระหว่างการประมวลผลล่วงหน้าของPเพื่อหลีกเลี่ยงการตรวจสอบความเท่าเทียมกันที่ซ้ำซ้อนสำหรับลำดับของตัวอักษรที่ทราบว่าตรงกัน สามารถมองได้ว่าเป็นการขยายความของกฎ Galil