ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการใช้งานการจัดเรียงการแทรกใน Python 3.x หรือก่อนหน้านั้น
อัลกอริทึม
-
วนซ้ำองค์ประกอบอินพุตโดยขยายอาร์เรย์ที่เรียงลำดับในแต่ละการวนซ้ำ
-
เปรียบเทียบองค์ประกอบปัจจุบันกับค่าที่มากที่สุดที่มีอยู่ในอาร์เรย์ที่จัดเรียง
-
หากองค์ประกอบปัจจุบันมีค่ามากกว่า ก็จะปล่อยองค์ประกอบนั้นไว้และย้ายไปยังองค์ประกอบถัดไป ซึ่งจะพบตำแหน่งที่ถูกต้องในอาร์เรย์ที่จัดเรียงแล้วและย้ายไปยังตำแหน่งนั้นในอาร์เรย์
-
ซึ่งทำได้โดยการย้ายองค์ประกอบทั้งหมดไปทางขวา ซึ่งใหญ่กว่าองค์ประกอบปัจจุบัน ในอาร์เรย์ที่จัดเรียงไปยังตำแหน่งหนึ่งข้างหน้า
ตอนนี้เรามาดูการแสดงภาพของอัลกอริทึม

มาดูการใช้งานกัน
ตัวอย่าง
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
# Move elements of arr[0..i-1], that are greater
than key,
# to one position ahead of their current position
j = i-1
while j >=0 and key < arr[j] :
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
# main
arr = ['t','u','t','o','r','i','a','l']
insertionSort(arr)
print ("The sorted array is:")
for i in range(len(arr)):
print (arr[i]) ผลลัพธ์
The sorted array is: a i l o r t t u
ความซับซ้อนของเวลา: โอ(n*2)
พื้นที่เสริม: O(1)
ตัวแปรทั้งหมดถูกประกาศในกรอบสากลดังแสดงในรูปด้านล่าง -

บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับการจัดเรียงการแทรกและการนำไปใช้งานใน Python 3.x หรือก่อนหน้านั้น