เมนูนำทาง
การจัดเรียงแบบหวี Codeตัวอย่างการเขียนโปรแกรมด้วย ภาษาไพทอน (Python)
def CombSort(array): array_len = len(array) value = len(array) while value != 1 : value = int(value // 1.3) for count in range(0,array_len -value): if array[count] >= array[count + value]: array[count],array[count + value] = array[count + value], array[count] return arrayarray = [9,18,15,20,0,3,7]print(CombSort(array))
จาก Code ด้านบนจะมีการทำงานวนลูปจำนวน 2 ลูปคือลูป while และ for โดยในแต่ละลูปจะมีค่า Big O ดังนี้
while value != 1 : จะได้ => O(n)
for index in range(0,array_len - value): จะได้ => O(n)
ลูป for อยู่ในลูป while จะนำมาคูณกันได้สมการคำตอบคือ
>>> O(n) * O(n) = O(n2)
เป็นกรณีที่จะทำงานแค่ 1 รอบหรือจำนวนของ array มีแค่ 1 ตัวทำให้ไม่ต้องเข้าลูป while จากนั้นจะ return ค่าของ array ออกมาได้เลย
Bio O จะเป็น Big O => O(1)
เป็นกรณีที่ array มีจำนวนข้อมูลมากทำให้ต้องเข้าลูป while หลายครั้งจึงทำให้เวลาในการทำงานนานขึ้น ถ้าทำเสร็จแล้วให้ return ค่าออกมาและค่าที่ได้จะเรียงจากน้อยไปมากแล้ว
Big O จะเป็น Big O => O(n^2)
เมนูนำทาง
การจัดเรียงแบบหวี Codeใกล้เคียง
การจัดเรียงอิเล็กตรอนของธาตุ (หน้าข้อมูล) การจัดการความเครียด การจัดสรรคลื่นความถี่วิทยุสมัครเล่น การจัดหมู่หนังสือแบบทศนิยมดิวอี้ การจัดการทาลัสซีเมีย การจัดอันดับของจุฬาลงกรณ์มหาวิทยาลัย การจัดเส้นทางแบบหัวหอม การจัดอันดับของมหาวิทยาลัยเกษตรศาสตร์ การจัดอันดับของมหาวิทยาลัยมหิดล การจัดระดับความเหมาะสมของรายการโทรทัศน์ไทยแหล่งที่มา
WikiPedia: การจัดเรียงแบบหวี https://fadelc99.wordpress.com/ https://www.youtube.com/watch?v=FjoNnz9fwVU https://www.geeksforgeeks.org/comb-sort/