본문 바로가기

TIL

TIL (2023.01.19)

반응형

안녕하세요. pitang입니다.

 

노마드코더에서 진행하는 챌린지 "노개북(노마드 개발자 북클럽) day 7" 시작해볼게요!

 

오늘 읽은 범위 : 에피소드22(130page) ~ 에피소드25(153page)

 

책에서 기억하고 싶은 내용

자료구조와 알고리즘은 코드를 효율적으로 만들기 위해 존재한다.

 

알고리즘이란? 컴퓨터에게 내리는 지시 사항을 나열한 것.

ex)

패스파인더(pathfinder) 알고리즘 : 목적지까지 최대한 빨리 가는 방법을 알려주는 알고리즘.

압축(compression) 알고리즘 : 이미지를 최대한 덜 손상하면서도 용량을 효율적으로 줄일 수 있는 알고리즘.

몰랐던 사실 ,, =>  PNG, JPG 파일 등이 모두 이미지 압축 알고리즘으로 만든 파일.

 

자료구조는? 데이터를 효율적으로 보관하고 찾기 위한다.

자료구조의 방식이 다양한 이유는? 프로그램의 목적이 다양하기 때문에 다양하다.

 

메모리의 관점에서 배열을 설명할 수 있는데 메모리란? 컴퓨터의 기억 공간.

 

휘발성 메모리 VS 비휘발성 메모리로 구분 가능. 

- 비휘발성 메모리는 컴퓨터의 하드 드라이브

- 휘발성 메모리는 램(RAM, random access memory).

   프로그램의 변수, 함수 이런 것들이 램에 저장되고 램이 있어서 프로그램을 실행할 수 있다.

   또한, 데이터가 저장된 위치와 상관없이 일정한 접근 속도를 보장한다.

 

배열의 원리

1. 배열은 램에 줄줄이 이어진 형태로 공간을 차지하고 있다.

2. 컴퓨터는 배열의 시작 주소와 길이를 알고 있고 그렇기에 배열은 읽는 속도가 아주 빠르다.

3. 배열은 맨 앞부터 차곡차곡 채워져 있어야 하기에 삽입과 삭제가 느리다.

 

배열에서의 시간 복잡도! 시간 복잡도란? 프로그램의 작업 속도가 얼마나 빠른지 측정하는 방법이다.

빅오(Big-O) 표기법 : 알고리즘으로 작업을 완료할 때까지 걸리는 절차 수 N을 이용해 O(N), O(log N)과 같이 표현함.

                                  쉽게 말해,  알고리즘의 속도를 표현하는 방법.

 

 

어떤 알고리즘을 선택했는지에 따라 작업 속도에 엄청난 차이가 생긴다!

검색 알고리즘 중 선형 검색 알고리즘(linear search) VS 이진 검색 알고리즘(binary search)

- 선형검색은 맨 처음부터 검색하고 O(N), 가장 자연스러운 검색 방법.

- 이진 검색은 배열의 크기가 클 때 선형 검색보다 훨씬 좋은 알고리즘이다.

   근데! 항상 정렬이 끝난 배열에서만 사용할 수 있다.

 

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

자료구조와 알고리즘, 개발자의 길로 들어서고 나서부터 정말 많이 들었던 말이다.

 

알고리즘 공부한다 하면서 코딩테스트 연습문제를 풀고 있을 때 프로젝트, 프로그램에 적용한다는 생각은 하지 못했다. 

알고리즘 공부는 코딩테스트 연습에서 끝내고 응용은 전혀 안 하고 있었던 것 같다.

 

책을 읽을 때마다 아는 내용이라면서 쓱 지나가고 다시 읽게 되는 경우가 있다.

그냥 처음서부터 꼼꼼하게 이해하며 읽어나가자...

 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요

자료구조와 알고리즘에 대해 더 알아보자. 

 

자료구조는 더 정확히 말해 데이터 값의 모임, 데이터 간의 관계, 데이터에 적용할 수 있는 함수나 명령을 의미한다.

 

자료구조의 선택은 효율적인 알고리즘의 선택이 될 수 있다.

 

자료구조 + 알고리즘(+a) = 프로그램 이러한 구조로 설명할 수 있겠다!

 

세줄요약

용어의 개념들이 중요한 것 같다!

자료구조 + 알고리즘 = 프로그램

더 집중해서 읽자.

 

 

728x90
반응형

'TIL' 카테고리의 다른 글

TIL (2023.01.22)  (0) 2023.01.23
TIL (2023.01.21)  (1) 2023.01.22
TIL (2023.01.18)  (0) 2023.01.19
TIL (2023.01.17)  (0) 2023.01.18
TIL (2023.01.15)  (0) 2023.01.16