728x90
반응형
IT 5분 잡학사전 Today I Learned
[오늘 TIL 3줄 요약]
- 정렬 알고리즘의 종류
- 버블정렬 : 왼쪽과 오른쪽을 비교하는 방식으로 정렬
- 선택정렬 : 가장 크거나 작은 데이터의 위치를 따로 기억하는 방식으로 정렬
- 삽입정렬 : 앞에 있는 데이터와 비교하여 밀어 넣는 방식으로 정렬
- 스택과 큐는 기존 프로그래밍 언어의 문법으로 데이터를 저장할 때 어떤 규칙만 부여하는 추상 자료 구조
- 클린코드는 잘 실행되면서 부연 설명을 하지 않아도 이 코드만 봐도 충분히 설명할 수 있는 상태를 말한다.
[TIL (Today I Learned) 날짜]
2024.04.20
[오늘 읽은 범위]
Ep.26 ~ Ep.29
[책에서 기억하고 싶은 내용]
-
- 버블정렬
- 오른쪽으로 1칸씩 밀면서 왼쪽과 오른쪽을 비교하는 방식으로 정렬
- 많이 사용하지 않고 좋은 알고리즘은 아님
- 시간 복잡도는 O(N^2)
- 선택정렬
- 가장 작은 데이터 또는 가장 큰 데이터의 위치를 따로 기억하는 방식으로 정렬
- 버블정렬보다는 효율적
- 시간 복잡도는 O(N^2)
- 삽입정렬
- 앞에 있는 데이터와 비교하여 밀어넣는 방식으로 정렬
- 선택정렬,버블정렬보다 빠름
- 시간 복잡도는 O(N^2)
- 시간 복잡도는 단순히 측정값이기 때문에 같아도 속도 차이가 날 수 있다.
- 스택과 큐는 기존 프로그래밍 언어의 문법으로 데이터를 저장할 때 어떤 규칙만 부여하는 추상 자료 구조
- 스택의 규칙
- 1) 위에서 데이터를 쌓는다.
- 2) 위에서부터 데이터를 뺀다.
- 예시) 웹브라우저의 뒤로 가기, ctrl+z
- 큐의 규칙
- 1) 위에서 데이터를 쌓는다.
- 2) 아래에서부터 데이터를 뺀다.
- 예시) 쇼핑몰 주문 처리 방법 - 먼저 주문한 사람부터 처리한다.
- 해시테이블
- 키와 값을 짝지어 모은 것
- 선형검색보다 빠르게 검색 가능
- 시간 복잡도 : O(1) > Big-O표기법으로 표현할 수 있는 가장 빠른 시간(상수 시간)
- 해시테이블에서는 어떤 값을 찾더라도 딱 한 단계만 거침
- 클린코드를 위한 5가지 꿀팁
- 1) 의미 있는 변수, 함수의 이름을 적절히 사용할 것
- 2) 함수 이름은 가급적 동사로 짓기
- 함수는 1가지 역할만 하는 것이 좋음
- 3) 매개변수는 너무 많이 쓰지 말기
- 함수에서 매개변수는 3개 이하 추천
- 불가피하게 많이 설정해야 할 경우 컨피그레이션 오브젝트(Configuration Object) 방식으로 사용
- 컨피그레이션 오브젝트(Configuration Object) : 키-값 쌍의 형태로 구성된 매개변수를 묶어 전달하는 방식
- 4) Boolean값을 인자로 보내지 말기
- 5) 축약어 쓰지 말기
- 나 혼자만 알아볼 수 있는 축약어는 금지!
- 버블정렬
[오늘 읽은 소감과 떠오르는 생각]
- 아... 오늘도 역시 책 내용이 너무 재밌다.
- 스택과 큐의 개념이 항상 어렵게만 느껴졌는데 한방에 알게 되었다.
- 클린코드의 중요성은 알고 있었지만 사실 배우는 입장에서 클린코드까지 챙길 생각을 못했는데 습관부터 잘 들여야겠다는 생각을 했다.
[궁금한 내용이 있거나 잘 이해되지 않는 내용]
해시 테이블에 대해서 이해가 부족했다.
>> 나의 작고 소중한 ChatGPT 과외쌤이 알려준 결과🤓❤
해시 테이블은 키-값 쌍을 저장하는 자료구조입니다. 각 키는 해시 함수를 사용하여 해시값으로 변환되고, 이 해시값을 이용하여 값을 저장하거나 검색합니다. 해시 테이블은 일반적으로 배열로 구현되며, 해시 함수를 사용하여 배열의 인덱스를 계산하여 효율적으로 값을 저장하고 검색합니다.
해시 테이블은 다음과 같은 주요 작업에 사용됩니다:
- 데이터 저장: 해시 테이블은 특정 키와 연관된 값을 저장합니다. 각 키는 해시 함수를 사용하여 해시값으로 변환되고, 이 해시값을 기반으로 배열의 인덱스를 계산하여 값을 저장합니다.
- 데이터 검색: 저장된 데이터를 검색할 때 해시 테이블은 키를 해시값으로 변환하고, 해당 해시값을 사용하여 배열에서 검색을 수행합니다. 이는 일반적으로 상수 시간(O(1))에 가능하며, 매우 빠른 검색 속도를 제공합니다.
- 데이터 삭제: 저장된 데이터를 삭제할 때도 키를 해시값으로 변환하여 해당 위치에서 데이터를 삭제합니다.
해시 테이블은 일반적으로 많은 양의 데이터를 효율적으로 저장하고 검색하는 데 사용됩니다. 해시 테이블은 키의 해시값에 따라 데이터를 저장하기 때문에 검색 및 삽입 작업이 일반적으로 매우 빠릅니다. 그러나 충돌이 발생할 수 있으며, 이를 처리하기 위해 충돌 해결 기법(예: 체이닝 또는 개방 주소법)이 사용됩니다.
#노개북 #노마드코더 #개발자북클럽
728x90
반응형
'Front-End > TIL' 카테고리의 다른 글
[TIL] 개발자북클럽 IT잡학사전 Ep.35 ~ Ep.38 / Day12 (0) | 2024.04.23 |
---|---|
[TIL] 개발자북클럽 IT잡학사전 Ep.30 ~ Ep.34 / Day10 (0) | 2024.04.21 |
[TIL] 개발자북클럽 IT잡학사전 Ep.22 ~ Ep.25 / Day7 (0) | 2024.04.19 |
[TIL] 개발자북클럽 IT잡학사전 Ep.06 ~ Ep.10 / Day2 (0) | 2024.04.15 |
[TIL] 개발자북클럽 IT잡학사전 Ep.01 ~ Ep.05 / Day1 (0) | 2024.04.13 |