[Today I Learned] 11월 2주차 day3

suwoncityboyyy·2022년 11월 9일
0

오늘부터 알고리즘/자료구조도 추가적으로 공부 할 것이다.
알고리즘,자료구조는 단순히 암기하거나 개념을 습득하는 것이 아니라, 이것들이 나오게 된 이유, 어떨 때 쓰이면 좋은지 혹은 문제를 봤을때 어디서 알고리즘/자료구조 패턴을 느낄 수 있는지를 알아야 한다.

알고리즘은 어떤문제를 해결하기 위한 처리절차 (쉽게 말하면 명령어들의 집합) 이고
자료구조는 데이터를 어떤 형태로 효율적으로 저장하고 관리할 것인지에 대한 절차를 말한다.

컴퓨터가 복잡한 자료들을 빠르게 저장,검색,전송,갱신,삭제 등을 하기 위해서는 자료구조알고리즘이 효율적으로 조직화 돼 있어야 한다.

시간복잡도

알고리즘 분석에서는 실행 시간 분석을 할 수 있는데 이를 시간복잡도라고 부른다.
즉, 알고리즘을 이루고 있는 연산들이 몇 번이나 실행 되는지를 숫자로 표시한다.
연산의 개수(n)을 계산하여 여러개의 알고리즘을 비교 및 분석이 가능하다.

빅오표기법

알고리즘 성능을 수학적으로 표기하는 방법을 말한다.
모든 알고리즘은 빅오표기법으로 분석해서 최악의 경우를 대비해야한다.

마무리

오늘은 알고리즘/자료구조 강의를 들었고 프로그래머스 문제를 푼것 같다.
독학 했을때는 알고리즘/자료구조에 대해서 아무것도 공부를 안했었고 그냥 서비스 만들기에만 급급했다. 앞으로는 언어공부와 모든 라이브러리들을 공부만 할게 아니라 cs전공지식 알고리즘/자료구조 말고도 디자인패턴이나 아키텍쳐 , 서버지식도 공부 할 것이다!

profile
주니어 개발자 기술노트

0개의 댓글