처음부터 Go로 버블 정렬 작성하기
5179 단어 go
게시물Writing Bubble Sort in Go from Scratch은 Qvault에 처음 등장했습니다.
버블 정렬은 요소가 목록의 맨 위로 "버블링"되는 방식을 따서 명명되었습니다. 버블 정렬은 슬라이스를 반복적으로 살펴보고 인접한 요소를 비교하여 순서가 잘못된 경우 교환합니다. 전체 목록이 완전히 정렬될 때까지 slice을 계속 반복합니다.
버블 정렬 알고리즘의 전체 예제
func bubbleSort(input []int) []int {
swapped := true
for swapped {
swapped = false
for i := 1; i < len(input); i++ {
if input[i-1] > input[i] {
input[i], input[i-1] = input[i-1], input[i]
swapped = true
}
}
}
return input
}
코드에서 알고리즘 사용
func main() {
unsorted := []int{10, 6, 2, 1, 5, 8, 3, 4, 7, 9}
sorted := bubbleSort(unsortedInput)
// sorted = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}
버블 정렬을 사용하는 이유는 무엇입니까?
버블 정렬은 작성하기 쉬운 것으로 유명합니다. 가장 느린 정렬 알고리즘 중 하나이지만 빠른 스크립트나 정렬할 데이터의 양이 적을 때 유용할 수 있습니다. 생산 시스템에서 사용할 정렬 알고리즘이 필요한 경우 not reinventing the wheel and using the built-in sort.Sort method을 권장합니다.
버블 정렬 Big-O 복잡성
버블 정렬은 빠르고 작성하기 쉬운 것으로 간주되지만 실제로는 가장 느린 정렬 알고리즘 중 하나입니다. 버블 정렬은 코드에서 중첩for-loop인 목록의 각 요소에 대해 전체 목록을 이동해야 하므로 버블 정렬의 복잡성은
O(n^2)
입니다.읽어 주셔서 감사합니다. 이제 과정을 수강하십시오!
기술 분야의 고임금 직업에 관심이 있으십니까? 실습 코딩 과정을 마친 후 인터뷰를 시작하고 멋지게 통과합니다.
Start coding now
질문?
질문이나 의견이 있으면 트위터에서 나를 팔로우하고 연락하십시오. 기사에서 실수를 한 경우 반드시 let me know 수정하여 수정할 수 있도록 해주세요!
Subscribe 받은 편지함으로 바로 전달되는 더 많은 코딩 기사를 보려면 내 뉴스레터로 보내십시오.
Reference
이 문제에 관하여(처음부터 Go로 버블 정렬 작성하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bootdotdev/writing-bubble-sort-in-go-from-scratch-ipl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)