본문 바로가기
알고리즘 & 자료구조

알고리즘 왜 필요할까?

by 방구쟁이 2021. 7. 8.
728x90

#알고리즘 #코딩 #노마드 코더

본 포스팅은 노마드코더 영상을 정리하며 학습하기 위한 목적을 가지고 있습니다.


알고리즘 왜 필요할까?

처음 코딩을 공부할때에는 데이터 구조와 알고리즘을 공부할 필요가 없다. 왜 그럴까?

이제 막 시작한 초보 개발자는 니즈가 없기 때문이다. 앱을 동작하는 것이 첫번째 목적이기 때문이다.

이미지 출처 : https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B0%95%EC%A2%8C

그럼 언제 필요할까?

  • 소스코드에 버그는 없으나 앱이 느릴때 ( = 코드 최적화를 어디서부터 해야할지 모를때 )
  • 관리가 편하고, 다른사람들과 일하기 편하게 코드를 작성할때

 

초보 개발자가 첫번째 목적을 달성한 뒤에 

그다음 단계가 바로 어떻게 더 빠르고 효율적이게 구현할 것인가 이다.

 

데이터 구조 vs 알고리즘

데이터 구조

 프론트엔드 : 모두 데이터를 필요. json 데이터를 아름답게 표현

 백엔드 : 데이터베이스 검색, 편집, 수정, 추가해야 한다.

 

 데이터를 어떻게 정리하느냐에 따라 속도에 영향을 준다. 예를 들어 작은 것부터 큰 것으로 정렬, 어떤 구조는 검색에 최적화 혹은 추가, 편집에 최적화 등 어떠한 작업에, 어떠한 데이터구조를, 언제, 어떻게 쓰는지 아는 것이 속도를 결정한다.

 데이터 구조 예시 : Linked list, Arrays

 데이터 구조를 선택할 시 4가지 요소를 확인하자.

  • 검색
  • 읽기
  • 삽입
  • 삭제

 이 4가지를 염두하고 데이터 구조를 보자.

 

알고리즘

알고리즘은 어떠한 액션을 수행하기 위해 컴퓨터가 수행해야 하는 것이다.

훌륭하고 효율적인 알고리즘을 만들면 반복적으로 사용 가능한 것

알고리즘 예시 : Path Finder 알고리즘, 이미지 퀄리티 손상을 줄이는 압축 알고리즘 , 암호화 알고리즘 등

 

결론

알고리즘을 공부할 시 나의 코드를 멋지게 만들 수 있고 코드를 최적화하며 잘 짜는 더 좋은 개발자가 되는 이유.

그럼 이제부터 공부를 시작해볼까?

 

사실 글쓴이는 노마드코더 유튜브 영상을 보고 웹개발자로 공부하기 시작하게 되었습니다.


오늘 성장에 도움을 주신 개발자분들 

참고문헌 : 노마드 코더 https://www.youtube.com/watch?v=9TyyMtlk5i4&ab_channel=%EB%85%B8%EB%A7%88%EB%93%9C%EC%BD%94%EB%8D%94NomadCoders

728x90

'알고리즘 & 자료구조' 카테고리의 다른 글

검색 알고리즘  (0) 2021.07.10
Array 배열이란?  (0) 2021.07.09
BFS 알고리즘이란?  (0) 2021.07.08
[Java] Queue란?  (0) 2021.07.05
Dijkstra 알고리즘  (0) 2021.06.22

댓글