หน้าแรก
หน้าแรก
การผกผันของอาร์เรย์บ่งชี้; จำนวนการเปลี่ยนแปลงที่จำเป็นในการแปลงอาร์เรย์เป็นรูปแบบการเรียงลำดับ เมื่อจัดเรียงอาร์เรย์แล้ว จะต้องมีการผกผัน 0 ครั้ง และในอีกกรณีหนึ่ง จำนวนการผกผันจะสูงสุด หากอาร์เรย์กลับด้าน ในการแก้ปัญหานี้ เราจะปฏิบัติตามวิธีการจัดเรียงแบบผสานเพื่อลดความซับซ้อนของเวลา และทำให้เป็น
ค่ามัธยฐานคือตัวเลขตรงกลาง หรืออีกนัยหนึ่ง ค่ามัธยฐานคือการสังเกตตรงกลางในรายการที่เรียงลำดับ สอดคล้องกับเปอร์เซ็นต์สะสม 50% ขนาดของอาร์เรย์ทั้งสองต้องเท่ากัน เราจะหาค่ามัธยฐานของอาร์เรย์สองอาร์เรย์ที่แยกจากกันในตอนแรก จากนั้นจึงเปรียบเทียบค่ามัธยฐานที่แยกจากกันเพื่อให้ได้ค่ามัธยฐานจริงของสองรายการ
กราฟแบบไม่มีทิศทางจะเรียกว่ากราฟที่เชื่อมต่อแบบสองทาง หากมีจุดยอดสองเส้นทางที่ไม่ปะติดปะต่อระหว่างจุดยอดสองจุดใดๆ กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่ามีวงจรระหว่างจุดยอดสองจุดใดๆ เราสามารถพูดได้ว่ากราฟ G เป็นกราฟที่มีการเชื่อมต่อแบบสองทางหากมีการเชื่อมต่อ และไม่มีจุดประกบหรือจุดยอดที่ตัดอยู่ในกราฟ
การสำรวจเส้นทางแบบกว้าง (BFS) เป็นอัลกอริธึมซึ่งใช้เพื่อเข้าชมโหนดทั้งหมดของกราฟที่กำหนด ในอัลกอริธึมการข้ามผ่านนี้ โหนดจะถูกเลือกหนึ่งโหนด จากนั้นโหนดที่อยู่ติดกันทั้งหมดจะถูกเข้าชมทีละโหนด หลังจากเสร็จสิ้นจุดยอดที่อยู่ติดกันทั้งหมดแล้ว มันจะเคลื่อนที่ต่อไปเพื่อตรวจสอบจุดยอดอีกจุดหนึ่งและตรวจสอบจุด
ขอบในกราฟที่ไม่ระบุทิศทางจะเรียกว่าสะพานเชื่อม ถ้าเพียงเอาออก จะตัดการเชื่อมต่อกราฟ หรือสร้างองค์ประกอบต่างๆ ของกราฟ ในทางปฏิบัติ หากมีบริดจ์บางส่วนอยู่ในเครือข่ายเมื่อการเชื่อมต่อของบริดจ์ขาด ก็สามารถทำลายเครือข่ายทั้งหมดได้ อินพุตและเอาต์พุต อินพุต:เมทริกซ์ที่อยู่ติดกันของกราฟ 0 1 1 1 01 0 1 0
ในปัญหานี้ ให้กราฟแบบไม่มีทิศทางมาหนึ่งกราฟ เราต้องตรวจสอบว่ากราฟนั้นเป็นแบบต้นไม้หรือไม่ เราสามารถค้นหาได้โดยการตรวจสอบเกณฑ์ของต้นไม้ ต้นไม้จะไม่มีวัฏจักร ดังนั้นหากมีวัฏจักรใดๆ ในกราฟ นั่นก็ไม่ใช่ต้นไม้ เราตรวจสอบได้ด้วยวิธีอื่น ถ้ากราฟเชื่อมต่อกันและมีขอบ V-1 ก็อาจเป็นต้นไม้ได้ โดยที่ V คือจำน
ในการตรวจสอบการเชื่อมต่อของกราฟ เราจะพยายามสำรวจโหนดทั้งหมดโดยใช้อัลกอริธึมการข้ามผ่านใดๆ หลังจากเสร็จสิ้นการข้ามผ่าน หากมีโหนดใดที่ไม่ได้เข้าชม กราฟจะไม่เชื่อมต่อ สำหรับกราฟกำกับ เราจะเริ่มสำรวจจากทุกโหนดเพื่อตรวจสอบการเชื่อมต่อ บางครั้งขอบด้านหนึ่งอาจมีขอบด้านนอกเพียงด้านเดียว แต่ไม่มีขอบด้านใน
Depth-First Search (DFS) เป็นอัลกอริธึมการข้ามผ่านกราฟ ในอัลกอริทึมนี้ จะมีการกำหนดจุดยอดเริ่มต้นหนึ่งจุด และเมื่อพบจุดยอดที่อยู่ติดกัน มันจะเคลื่อนไปยังจุดยอดที่อยู่ติดกันนั้นก่อน และพยายามสำรวจในลักษณะเดียวกัน มันเคลื่อนผ่านความลึกทั้งหมด เท่าที่มันจะไปได้ หลังจากนั้นมันจะย้อนย้อนไปถึงจุดยอดก่อ
ในปัญหานี้ จะแสดงกราฟแบบไม่บอกทิศทาง นอกจากนี้ยังมีให้ m สี ปัญหาคือการค้นหาว่าสามารถกำหนดโหนดด้วย m สีต่างๆ ได้หรือไม่ เพื่อไม่ให้จุดยอดสองจุดที่อยู่ติดกันของกราฟมีสีเดียวกัน หากมีวิธีแก้ปัญหา ให้แสดงสีที่กำหนดบนจุดยอด เริ่มจากจุดยอด 0 เราจะพยายามกำหนดสีทีละโหนดให้กับโหนดต่างๆ แต่ก่อนจะมอบหมายต้อง
ปัญหานี้คือการหาการจัดเรียงของราชินี N บนกระดานหมากรุก เพื่อไม่ให้ราชินีตัวใดสามารถโจมตีราชินีตัวอื่นๆ บนกระดานได้ ราชินีหมากรุกสามารถโจมตีได้ทุกทิศทาง ทั้งแนวนอน แนวตั้ง แนวนอน และแนวทแยง เมทริกซ์ไบนารีใช้เพื่อแสดงตำแหน่งของ N Queens ซึ่งไม่มีราชินีใดสามารถโจมตีควีนตัวอื่นได้ อินพุตและเอาต์พุต In
ในปัญหานี้ มีเขาวงกตขนาด N x N ที่ระบุ ตำแหน่งต้นทางและปลายทางคือเซลล์ซ้ายบนและเซลล์ขวาล่างตามลำดับ บางเซลล์สามารถย้ายได้และบางเซลล์ถูกบล็อก หากหนูตัวหนึ่งเริ่มเคลื่อนที่จากจุดยอดเริ่มต้นไปยังจุดยอดปลายทาง เราต้องพบว่ามีวิธีใดที่จะทำให้เส้นทางสมบูรณ์ หากเป็นไปได้ ให้ทำเครื่องหมายเส้นทางที่ถูกต้องสำห
ในปัญหาคณิตศาสตร์เข้ารหัสลับ ตัวอักษรบางตัวใช้เพื่อกำหนดตัวเลข เช่นเดียวกับตัวอักษรสิบตัวที่แตกต่างกันถือค่าตัวเลขตั้งแต่ 0 ถึง 9 เพื่อดำเนินการคำนวณอย่างถูกต้อง มีคำให้สองคำและอีกคำหนึ่งจะได้รับคำตอบสำหรับการบวกสองคำนั้น ตัวอย่างเช่น เราสามารถพูดได้ว่าสองคำคือ BASE และ BALL และผลลัพธ์คือ GAMES ตอน
ในปัญหานี้ มีชุดที่กำหนดด้วยองค์ประกอบจำนวนเต็มบางส่วน และยังมีการจัดเตรียมค่าอื่นด้วย เราต้องหาชุดย่อยของชุดที่กำหนดซึ่งมีผลรวมเท่ากับค่าผลรวมที่กำหนด วิธีการย้อนกลับใช้สำหรับพยายามเลือกชุดย่อยที่ถูกต้องเมื่อรายการไม่ถูกต้อง เราจะย้อนรอยเพื่อรับชุดย่อยก่อนหน้าและเพิ่มองค์ประกอบอื่นเพื่อรับโซลูชัน
ในส่วนนี้ เราจะพยายามแก้ปัญหาเขาวงกตตัวเลขที่มีชื่อเสียงที่เรียกว่าซูโดกุ ซูโดกุเป็นตารางตัวเลข 9 x 9 และทั้งตารางยังถูกแบ่งออกเป็นกล่อง 3 x 3 มีกฎบางอย่างในการแก้ซูโดกุ เราต้องใช้ตัวเลข 1 ถึง 9 เพื่อแก้ปัญหานี้ ไม่สามารถทำซ้ำหนึ่งหลักในหนึ่งแถว หนึ่งคอลัมน์ หรือในกล่อง 3 x 3 หนึ่งช่อง เราจะพยายา
ในหมากรุก เรารู้ว่าอัศวินสามารถกระโดดได้ในลักษณะพิเศษ สามารถย้ายช่องสี่เหลี่ยมสองช่องในแนวนอนและแนวตั้งหนึ่งช่องหรือแนวตั้งสองช่องหรือแนวตั้งสองช่อง และแนวนอนหนึ่งช่องในแต่ละทิศทาง ดังนั้นการเคลื่อนไหวทั้งหมดจึงดูเหมือนตัวอักษรภาษาอังกฤษ L ในปัญหานี้ มีกระดานหมากรุกว่างเปล่า และอัศวินที่เริ่มจากตำ
ในปัญหานี้ จะมีการให้ชุดของจำนวนเต็ม เราต้องแยกพวกมันออกเป็นสองส่วน เพื่อให้ผลต่างของผลรวมของชุดย่อยสองชุดมีค่าน้อยที่สุด ดังนั้นเป้าหมายของเราคือแบ่งกลุ่มที่มีกำลังเกือบเท่ากันสองกลุ่มเพื่อเข้าร่วมในเกมชักเย่อ หากขนาดของเซตย่อย n เป็นคู่ จะต้องแบ่งออกเป็น n/2 แต่สำหรับค่าคี่ของ n ขนาดของเซตย่อยหนึ
ในการป้อนข้อมูลของปัญหานี้ ประโยคหนึ่งจะถูกกำหนดโดยไม่มีการเว้นวรรค และพจนานุกรมอีกฉบับมีคำศัพท์ภาษาอังกฤษที่ถูกต้องบางคำให้ด้วย เราต้องหาวิธีที่เป็นไปได้ในการทำลายประโยคในแต่ละคำในพจนานุกรม เราจะพยายามค้นหาจากด้านซ้ายของสตริงเพื่อค้นหาคำที่ถูกต้องเมื่อพบคำที่ถูกต้อง เราจะค้นหาคำในส่วนถัดไปของสตริง
ในปัญหานี้ มีการกำหนดสตริงจำนวนเต็มบวกหนึ่งสตริง เราต้องหาการเรียงสับเปลี่ยนที่มีค่าสูงสุดโดยการสลับ k ของหลักไปยังตำแหน่งต่างๆ เราจะแก้ปัญหานี้โดยเลือกตัวเลขและสลับกับตัวเลขที่ตามมาทีละตัวเพื่อหาจำนวนสูงสุด เราทำซ้ำขั้นตอน k ครั้ง กลยุทธ์การย้อนรอยได้ผลที่นี่ เพราะเมื่อเราพบตัวเลขที่ไม่มากกว่าค่าก
โดยการสร้าง Finite Automata เราสามารถทำการค้นหารูปแบบในข้อความได้อย่างง่ายดาย ขั้นแรก เราต้องเติมอาร์เรย์ 2D เพื่อสร้างตารางการเปลี่ยนแปลงของออโตมาตาไฟไนต์ เมื่อสร้างตารางแล้ว ขั้นตอนการค้นหาก็ง่าย โดยเริ่มจากสถานะแรกของหุ่นยนต์ เมื่อเราไปถึงสถานะสุดท้าย หมายความว่าพบรูปแบบในสตริง สำหรับการสร้างออโ
อัลกอริทึมของ Kasai ใช้เพื่อรับอาร์เรย์ Longest Common Prefix (LCP) จากอาร์เรย์ส่วนต่อท้าย ในตอนแรกจะพบอาร์เรย์ต่อท้าย หลังจากนั้นอัลกอริธึมของ Kasai จะใช้รายการอาร์เรย์ต่อท้ายเพื่อค้นหา LCP สำหรับอาร์เรย์ LCP จะใช้ O(m log n) โดยที่ m คือความยาวของรูปแบบและ n คือความยาวของข้อความ อัลกอริทึมของ Kas