การจัดเรียงแบบลูกปัด หรือที่เรียกอีกชื่อว่า การจัดเรียงแบบแรงโน้มถ่วง เป็นขั้นตอนวิธีการเรียงลำดับแบบธรรมชาติ พัฒนาโดย Joshua J. Arulanandham, Cristian S. Calude และ Michael J. Dinneen ในปี ค.ศ.2002
O(√n) : ในรูปแบบทางกายภาพที่สมจริงที่ใช้แรงโน้มถ่วงเวลาที่ใช้ในการปล่อยให้ลูกปัดตกลงมาเป็นสัดส่วนกับรากที่สองของความสูงสูงสุดซึ่งเป็นสัดส่วนกับ n (จำนวนข้อมูลทั้งหมด)
defGravity(obj):n=len(obj)ifall([type(x)==intandx>=0forxinobj]):reference=[range(x)forxinobj]else:raiseValueError("All elements must be positive integers")intermediate=[]index=0previous=nwhileprevious:intermediate.append(range(previous))index+=1previous=sum([1forxinreferenceiflen(x)>index])index=0previous=len(intermediate)]# จำนวนที่มากที่สุดout=[0forxinrange(n)]out[n-1]=previous# แปลงเป็นชุดข้อมูลแบบตัวเลขforiinrange(0,n-1):previous=sum([1forxinintermediateiflen(x)>n-i-1])out[i]=previousreturnoutobj=[2,4,1,3,3]print(Gravity(obj))# [1, 2, 3, 3, 4]
อ้างอิง
kukuruku. Bead Sort. Retrieved 5 may 2018
สิงหาคม 08, 2021
การเร, ยงลำด, บแบบล, กป, การจ, ดเร, ยงแบบล, กป, หร, อท, เร, ยกอ, กช, อว, การจ, ดเร, ยงแบบแรงโน, มถ, วง, เป, นข, นตอนว, การเร, ยงลำด, บแบบธรรมชาต, ฒนาโดย, joshua, arulanandham, cristian, calude, และ, michael, dinneen, ในป, 2002, ใส, กป, ดตามข, อม, ลท, ทำการจ, ด. karcderiyngaebblukpd hruxthieriykxikchuxwa karcderiyngaebbaerngonmthwng epnkhntxnwithikareriyngladbaebbthrrmchati phthnaody Joshua J Arulanandham Cristian S Calude aela Michael J Dinneen inpi kh s 2002 islukpdtamkhxmulthimi thakarcderiyng enuxha 1 lksnakarthangan 2 khwamsbsxnkhxngkarthangan 3 twxyangkarekhiynopraekrm 4 xangxinglksnakarthangan aekikhkarcderiyngaebblukpderimaerkodyihcanwnesathiislukpdethakbkhakhxngkhxmultwnn odycanwnaethwaenwtngethakbcanwnthnghmdkhxngkhxmulthitxngkarcaeriyngladb emuxislukpdtamkhxmulthimixyucnkhrbaelw lukthilxyxyuodyimmixairrxngrbcatklngodyaerngonmthwngkhwamsbsxnkhxngkarthangan aekikhO 1 lukpdthnghmdekhluxnthiphrxmkninhnwyewlaediywknechnediywkbtwxyangthangkayphaphthieriybngaykhangtn nikhuxkhwamsbsxnthiepnnamthrrmaelaimsamarthnaipptibtiidO n inrupaebbthangkayphaphthismcringthiichaerngonmthwngewlathiichinkarplxyihlukpdtklngmaepnsdswnkbrakthisxngkhxngkhwamsungsungsudsungepnsdswnkb n canwnkhxmulthnghmd O n lukpdcathukyayipthilaaethw nikhuxkrnithiichinosluchnhardaewrxnalxkaeladicitxlO S ody S khuxphlrwmkhxngcanwnetminchudkhxmul lukpdaetlalukcathukyaythilaluk niepnkrnicderiyngaebblukpdodyimmiklikephuxchwyinkarhachxngwangdanlangkhxnglukpdtwxyangkarekhiynopraekrm aekikhtwxyangkarekhiynopraekrmdwyphasaiphthxn Python opraekrmniichidechphaakbchudkhxmulthimismachikphayinepn canwnetmbwk hrux makkwa 0def Gravity obj n len obj if all type x int and x gt 0 for x in obj reference range x for x in obj else raise ValueError All elements must be positive integers intermediate index 0 previous n while previous intermediate append range previous index 1 previous sum 1 for x in reference if len x gt index index 0 previous len intermediate canwnthimakthisud out 0 for x in range n out n 1 previous aeplngepnchudkhxmulaebbtwelkh for i in range 0 n 1 previous sum 1 for x in intermediate if len x gt n i 1 out i previous return out obj 2 4 1 3 3 print Gravity obj 1 2 3 3 4 xangxing aekikhkukuruku Bead Sort Retrieved 5 may 2018ekhathungcak https th wikipedia org w index php title kareriyngladbaebblukpd amp oldid 7605345, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,