개발자 99% 커뮤니티에서 수다 떨어요!
🚥 오늘 TIL 3줄 요약
세상엔 공짜란 없다,,^^,,,AI사이트에 내 데이터를 다 올렸니? 그럼 이제 수집을 당하자.
알고리즘과 자료구조는 코드를 효율적으로 만들기 위해 필요한 개념
시간복잡도는 프로그램의 작업속도가 얼마나 빠른지 측정하는 방법
2023.01.19.목
📖 오늘 읽은 범위
[IT 5분 잡학사전] 에피소드22~25
✍️ 책에서 기억하고 싶은 내용을 써보세요.
자료구조와 알고리즘을 공부하면 코드를 더 효율적으로 만들 수 있음
패스파인더 알고리즘: 목적지까지 최대한 빨리 가는 방법에 관한 알고리즘
압축 알고리즘: 이미지를 최대한 덜 손상하면서도 용량을 효율적으로 줄일 수 있는 알고리즘
자료구조에서 자료 = 데이터, 모든 것이 데이터. 특히 인공지능에서는 데이터가 많이많이많이많이많이 필요함. 무료사이트에서 무언가를 공짜로 만들어준다길래 사진을 이것저것 올린 당신. 알고보니 제3자 동의를 한 상태라면 그 정보는 어딘가에…(후략
자료구조 = 데이터를 찾기 쉽게 정리 및 보관하기 위해 공부하는 것
자료구조의 방식이 다양한 이유 = 프로그램 목적이 다양하기 때문. (검색위주인지, 시간 위주인지.)
메모리의 관점에서 배열 메모리 = 컴퓨터의 기억공간 비휘발성: 하드 드라이브 / 휘발성: 램 램 = 주소지가 적힌 박스가 많이 있는 창고
배열은 맨 앞부터 채워져있음. 그래서 삽입/삭제가 느림
시간 복잡도: 프로그램의 작업속도가 얼마나 빠른지 측정하는 방법, 알고리즘으로 작업을 완료할 때까지 걸리는 절차수
Big-O: 알고리즘 속도를 표현하는 절차 수
Big-O는 실행 단계에 영향을 주는 요소만 봄 ← 이부분 몇 번을 읽어도 모르겠다ㅠ
선형 검색 알고리즘: 처음부터 차례로 찾는 방법, O(N)
이진 검색 알고리즘: (정렬이 끝난 배열에서만 사용 가능!), 반씩 나눠서 찾는 방법, 배열이 클 수록 효과적, O(log₂)
💭 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
알고리즘과 자료구조는 학부 전공 때 기초부터 심화까지 지속적으로 배웠는데도 역시나 어렵네요… 특히 Big-O는 계산하는 방법도 기가 막히게 계산 잘 했던 것 같은데 왜 지금은 머릿속이 텅~ 개념은 다시 보니 알겠는데 뭔가 적용하려니 어렵다…
❓ 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
147p의 “왜냐하면 Big-O는 실행 단계에 영향을 주는 요소만 보기 때문이야.” 부분이 아직도 이해가 안 돼요…ㅠ 시간 복잡도 정의에 써있는 ‘절차 수’만 보면 이해가 되는데 영향을 주는 ‘요소’ 라고 하니 그 요소라는 게 절차라는 건지…아니면 뭐가 또 있는건지…