본문 바로가기
인강/패스트캠퍼스_환급챌린지

[패스트캠퍼스 챌린지 28일차] 문제 풀이로 실전 응용력을 다지는 필수 자료구조

by 맙소사 2021. 10. 3.

 

Ch 02. 알고리즘 - 02. 정렬 알고리즘 - 선택정렬(Selection Sort)

 

선택정렬은 정렬되지 않은 데이터들 중 가장 작은 데이터를 가장 앞의 데이터와 교환하는 방식으로 구현하면 된다.

방법 :

1. 리스트에서 최소값을 찾는다.

2. 최소값을 맨 앞의 값과 교체한다. (Swap)

3. 교체한 앞의 데이터는 정렬된것으로 간주하고 다음 인덱스부터 앞의 두 과정을 반복함.

구현은 다른 정렬에 비해 비교적 단순하지만 시간복잡도를 따지면 꽤나 비효율적인 방법임.

반복문 for루프가 두 개는 꼭 들어가야 하기 때문인듯!

 

그리고 Big-O 표기법에 대한 설명을 해주신다.

1. O(1) : 효율이 제일 좋음

2. O(log n)

3. O(n)

4. O(n log n)

5. O(n²)

 

근데 선택정렬의 경우는 꼼꼼하게 잘 알려주시는데 알고리즘 시간복잡도 부분은 선생님 설명이 조금 애매하고 불분명한 느낌이 있어서(말 끝을 흐리고 얼버무리시는 느낌임, 각 종류를 꼼꼼하게 알려주시진 않음) 알고리즘이랑 시간복잡도 관련 부분은 다른 책이나 강의를 좀 더 참고하고 따로 찾아보는게 나을 것 같음.

 

그리고 log 계산법을 모르는 경우에는 칸 아카데미 수업 영상을 참고하면 좋을 것 같다. 봐도 모르겠지만...

일단 링크는 이쪽 ( https://ko.khanacademy.org/math/a2/x2ec2f6f830c9fb89:logs/x2ec2f6f830c9fb89:log-intro/v/logarithms ) 코딩을 하면 할 수록 수학의 중요성을 체감하고 있는데 수학을 전혀 안 본지 너무 오래되기도 했고 관심도 없어서 공부하기가 힘들다 흑흑 코딩에 유리한 수학만 모아둔 강의 같은거 있으면 좋을텐데 아쉬워 ... 

 

 


https://bit.ly/37BpXiC
공백제외 : 총 664자 (1,123byte)

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #C#과유니티로배우는게임개발올인원패키지Online. #C#과 유니티로 배우는 게임 개발 올인원 패키지 Online.

댓글