The binary search algorithm relies on the array being sorted in ascending order. When doing a binary search, the algorithm has a search interval in which checks if the element in the middle in the middle of the interval are equal to the value being searched for. If it is, the binary search is complete. If the value is not equal, then we divide the search interval in half. The side in which the search interval is split depends on whether the value we're searching for is less than or greater than the middle value we just checked. Picture the array horizontally, with the smallest elements on the left and the largest elements on the right. If the value we're searching for is greater than the middle value, we split the search interval into the right side of the array, with the left-most element in the search interval being the one just to the right of the middle element. If the value we're searching for is smaller than the middle value, then we split the search interval into the left side of the array, with the right-most element in the search interval being the one just to the left of the middle value. This process gets repeated until the value is found or, if it isn't in the array, isn't found. That is why the input array must be sorted in ascending order, because the algorithm relies on it. I hope that answered your question.
อัลกอริธึมการค้นหาแบบไบนารีอาศัยอาร์เรย์ที่เรียงลำดับจากน้อยไปหามาก เมื่อทำการค้นหาแบบไบนารี อัลกอริธึมจะมีช่วงเวลาการค้นหาที่จะตรวจสอบว่าองค์ประกอบที่อยู่ตรงกลางตรงกลางของช่วงเวลานั้นเท่ากับค่าที่กำลังค้นหาหรือไม่ หากเป็นเช่นนั้น การค้นหาแบบไบนารีจะเสร็จสมบูรณ์ หากค่าไม่เท่ากัน เราจะแบ่งช่วงการค้นหาออกเป็นครึ่งหนึ่ง ด้านที่แบ่งช่วงเวลาการค้นหานั้นขึ้นอยู่กับว่าค่าที่เรากำลังค้นหานั้นน้อยกว่าหรือมากกว่าค่ากลางที่เราเพิ่งตรวจสอบหรือไม่ ลองนึกภาพอาร์เรย์ในแนวนอน โดยมีองค์ประกอบที่เล็กที่สุดทางด้านซ้ายและองค์ประกอบที่ใหญ่ที่สุดทางด้านขวา หากค่าที่เรากำลังค้นหามากกว่าค่าตรงกลาง เราจะแบ่งช่วงเวลาการค้นหาทางด้านขวาของอาร์เรย์ โดยองค์ประกอบซ้ายสุดในช่วงการค้นหาจะเป็นองค์ประกอบที่อยู่ทางด้านขวาขององค์ประกอบตรงกลาง หากค่าที่เรากำลังค้นหาน้อยกว่าค่าตรงกลาง เราจะแบ่งช่วงเวลาการค้นหาออกเป็นด้านซ้ายของอาร์เรย์ โดยองค์ประกอบที่อยู่ด้านขวาสุดในช่วงการค้นหาจะเป็นองค์ประกอบที่อยู่ทางด้านซ้ายของค่ากลางเท่านั้น . กระบวนการนี้จะถูกทำซ้ำจนกว่าจะพบค่า หรือหากไม่พบค่านั้นในอาร์เรย์ นั่นคือสาเหตุที่อาร์เรย์อินพุตต้องเรียงลำดับจากน้อยไปมาก เนื่องจากอัลกอริทึมอาศัยอาร์เรย์นั้น ฉันหวังว่าจะตอบคำถามของคุณ
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence