4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

니콜라스- 개발자라면 무조건 알고리즘 공부를 해야할까?

르무엘 2023. 7. 4. 17:35

(1) 개발자라면 "무조건" 알고리즘 공부를 해야할까? - YouTube

 

1.  초보자일때는 불필요 할 수 있다.

2.  코드 최적화를 위해 어느정도 중간이상 개발자에게 필요하다.~!

알고리즘은 프로세스 최적화 문제

데이터구조는 데이터를 정리하고 이는 속도에 영향을 준다.

linkedlist, list

배열이 데이터구조중에 제일 쉽다~!

 

(1) 어? 재밌네? 정렬 알고리즘, 한방에 이해하기! - YouTube

 

정렬알고리즘

버블 vs 선택 vs 삽입

 

버블정렬 -> 이해하기 쉬우나 좋은 알고리즘은 아님

(왼쪽이 크면 스왑 , 오른쪽이 크면 넘어감)  n*(n-1)

 

 

 선택정렬 (n-1)  이 나올수 있지만 최악의 경우 아래와 같이 나올수 있음

=> 정렬되지 않은 배열에서 작은 아이템을 찾아 앞으로 보낸다.

 

 

삽입정렬은 선택정렬보다도 빠르다.

=> 삽입정렬은 필요한 아이템만 스캔한다.

 

버블정렬, 선택정렬, 삽입정렬 모두 시간복잡도가 같으니 

시간복잡도는 엉터리인가?

 

 

동일한 시간복잡도를 가지고 있지만

최선의 경우 삽입정렬은 정말 좋은 알고리즘이다.

 

 

LIST