IT 5분 잡학사전 북클럽 Day 7

uxolrv·2023년 11월 16일
0

📖 범위


2023.11.16. 목
p.132 ~ p.153

22장 자료구조와 알고리즘은 필수라고?
23장 배열이 뭐죠?
24장 알고리즘의 속도는 어떻게 표현할까?
25장 검색 알고리즘이 뭐죠?



💡 TIL


22장 자료구조와 알고리즘은 필수라고?

  • 프로그램의 목적에 따라 데이터를 효율적으로 보관하고 찾기 위해 자료구조와 알고리즘이 필요하다.
  • 지도 앱은 목적지까지 최대한 빠른 길을 찾는 기능을 구현하기 위해 패스파인더(pathfinder) 알고리즘을 사용한다.
  • PNG, JPG와 같은 파일들은 이미지를 최대한 손상시키지 않으면서 용량을 효율적으로 줄일 수 있는 압축(compression) 알고리즘을 사용하여 만들어진다.

23장 배열이 뭐죠?

  • 비휘발성 메모리는 컴퓨터의 하드 드라이브(C, D)처럼 컴퓨터를 종료해도 데이터가 남아있는 메모리다.
  • 휘발성 메모리인 RAM에는 프로그램의 변수, 함수와 같은 것들이 저장된다.
  • RAM은 주소값을 사용하여 데이터에 접근하기 때문에, 데이터가 저장된 위치와 상관없이 데이터에 접근하는 속도가 매우 안정적이고 빠르다.

24장 알고리즘의 속도는 어떻게 표현할까?

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

25장 검색 알고리즘이 뭐죠?

  • 선형 검색(linear search)은 가장 앞부터 순차적으로 검색하는 알고리즘으로, 배열 길이가 길수록 검색 시간도 길다.
  • 이진 검색(binary search)은 중앙에서 검색을 시작하여, 찾고자 하는 값이 중앙값보다 크고 작음을 비교하는 방식을 반복하는 알고리즘이다.
  • 이진 검색(binary search)은 거대한 배열을 다룰 때 효과적이나, 데이터가 정렬한 상태로 관리되어야 사용할 수 있다.



💭 소감


취업 전 알고리즘을 공부할 당시에는 프론트엔드에서 이런 복잡한 알고리즘을 실제로 활용할 일이 있을까?, 서버에서 받은 데이터를 가공할 일이 흔할까 생각했었다. 하지만 실제로 업무를 하다보니 라이브러리에 맞게 데이터 형식을 변환하거나, 유저가 선택한 조건에 따른 특정 데이터를 찾아내는 등의 작업을 하는 경우가 종종 있다.

여태까지 빠르게 작업물을 내는 데에만 몰두해서 알고리즘을 적용해봐야겠다는 생각조차 못하고 있었는데, 이번 책 범위를 읽으면서 현재 진행중인 프로젝트에서 알고리즘을 적용하여 데이터를 검색/가공했다면 지금보다 더 좋은 성능을 낼 수 있지 않았을까? 하는 생각이 들었다.

얼른 주어진 작업을 끝내서 연구해봐야겠다!



🔎 궁금한 내용


패스파인더 알고리즘
압축 알고리즘



📌 3줄 요약


  1. 대표적인 휘발성 메모리인 램(RAM)은 데이터에 접근하는 속도가 매우 안정되고 빠르다.
  2. 빅오(Big-O) 표기법은 알고리즘으로 작업을 완료할 때까지 걸리는 절차 수 N을 이용해서 O(N), O(log N)과 같이 표현한다.
  3. 이진 검색 알고리즘을 사용하고 싶다면 배열은 항상 정렬되어 있어야 한다.



과제2: 나의 최애 북틸


https://velog.io/@chae-yoon/노개북-02.-TIL-Episode.15
마크다운을 잘 활용하여 정리하셔서 가독성이 좋다고 생각한다.

https://velog.io/@gata96/IT-5분-잡학사전-에피소드-1621
중간중간 이해를 돕는 사진을 첨부하신 게 좋았다.

https://nomadcoders.co/community/thread/8490
다양한 색상으로 문장, 단어에 하이라이트 표시를 하셔서 눈에 잘 들어오는 것 같다.



profile
안녕하세연🙋 프론트엔드 개발자입니다

0개의 댓글