📙오늘 TIL 3줄 요약
- 자료구조와 알고리즘은 효율적인 코드를 만들기 위해 필요하다.
- 빅오 표기법 기억하기
- 거대한 배열을 다룰 때는 이진 검색 알고리즘이 유용하다.
TIL (Today I Learned) 날짜 : 2023.01.19(목)
오늘 읽은 범위
에피소드 22 ~ 에피소드 25
03마당 코딩별 안내서 - 컴퓨터 공학 편 1
에피소드 22. 자료구조와 알고리즘은 필수라고?
에피소드 23. 배열이 뭐죠?
에피소드 24. 알고리즘의 속도는 어떻게 표현할까?
에피소드 25. 검색 알고리즘이 뭐죠?
책에서 기억하고 싶은 내용
에피소드 22. 자료구조와 알고리즘은 필수라고?
- 자료구조와 알고리즘을 공부하면 코드를 효율적으로 만들 수 있다.
- 알고리즘이란? 컴퓨터에게 지시 사항을 나열한 것
- 패스파인더(pathfinder)알고리즘 : 목적지까지 최대한 빨리 가는 방법을 알려 주는 것
- 압축(compression)알고리즘 : 이미지를 최대한 덜 손상하면서도 용량을 효율적으로 줄일 수 있는 알고리즘
- 어떤 자료구조를 사용하는지에 따라 프로그램 속도가 빨라지거나 느려진다. → 목적에 따라 정리하는 자료구조를 쓰면 효율적이다.
에피소드 23. 배열이 뭐죠?
- 시간 복잡도는 프로그램의 작업 속도가 얼마나 빠른지 측정하는 방법이다.
- 휘발성 메모리인 램(RAM)은 데이터가 저장된 위치와 상관없이 일정한 접근 속도를 보장한다. → 보관된 데이터를 빠르게 찾을 수 있다.
- 배열 특징 1 : 배열을 읽는 방법과 속도 → 배열은 0부터 숫자를 매긴다.
- 배열 특징 2 : 배열을 검색하는 원리와 속도 → 배열에서 검색은 빠르지 않다. (선형 검색)
- 배열 특징 3 : 배열에 데이터를 삽입하는 원리와 속도
- 맨 마지막에 추가
- 중간에 추가? 많은 작업 필요
- 데이터가 꽉 차 있을 때 : 새 배열 만들기 → 복사하기 → 추가하기. 가장 느린 경우
- 배열 특징 4 : 배열에서 데이터를 삭제하는 원리와 속도 → 삽입하는 원리와 비슷하다.
에피소드 24. 알고리즘의 속도는 어떻게 표현할까?
- 빅오(Big-O)표기법 : 알고리즘으로 작업을 완료할 때까지 걸리는 절차 수 N을 이용해서 O(N), O(log N)과 같이 표현
- 배열의 길이가 길어질수록 작업 속도는 제곱배로 느려진다.
에피스드 25. 검색 알고리즘이 뭐죠?
- 선형 검색 알고리즘 : 배열 길이가 길어지는 만큼 검색 시간도 길어진다.
- 이진 검색 알고리즘 : 배열의 중앙에서 검색을 시작한다. 거대한 배열을 다룰 때 효과적이다. 배열은 항상 정렬되어 있어야 한다.
오늘 읽은 소감 (떠오르는 생각)
- 많이 들어보았던 용어들인데 정확하게 어떤 특징이 있는지 몰랐다. 책을 읽으면서 확실하게 어떤 특징이 있는지 알게 되었다.
- 빅오 표기법. 기억하자.
- 거대한 배열을 다룰 때는 이진 검색 알고리즘. 단 배열은 항상 정렬되어야 함.
'코딩이야기 > IT 5분 잡학사전' 카테고리의 다른 글
[IT5분잡학사전] DAY10. 에피소드 30 ~ 에피소드 34 : 코드를 살아 있는 생명체처럼.. (0) | 2023.01.23 |
---|---|
[IT5분잡학사전] DAY9. 에피소드 26 ~ 에피소드 29 : 외우지 말고 이해해보자 (0) | 2023.01.22 |
[IT5분잡학사전] DAY6. 에피소드 16 ~ 에피소드 21 : 중요한 것은 초심을 잃지 않는 마음 (0) | 2023.01.19 |
[IT5분잡학사전] DAY5. 에피소드 11 ~ 에피소드 15 : "스티브 잡스"처럼 미래를 만들어 가자. (0) | 2023.01.18 |
[IT5분잡학사전] DAY3. 에피소드 6 ~ 에피소드 10 : 오류는 성장의 발판이다. (0) | 2023.01.15 |