brunch

You can make anything
by writing

C.S.Lewis

[Q1] 완료와 두번째 퀘스트

2022.2.6 ~ 2.12

들어가는 글: 다행히 첫번째 퀘스트를 마무리하였습니다. 


1. Q1 개요 


책: <코딩 테스트를 위한 자료 구조와 알고리즘 with C++> 

기간: 2022.2.6(일) ~ 2.12(토) 1주일간 

내용: 연습문제 1~ 10번 공부하기 

깃헙 링크: https://github.com/yudong80/cppstudy/commit/9308ba63e5dab0d11fb8386608c2527cc33f8cbd

연습문제 목록: 

1) 동적 크기 배열 구현하기 

2) 빠르고 범용적인 데이터 저장 컨테이너 만들기 

3) 연결 리스트에서 remove_if() 함수를 이용한 조건부 원소 삭제 

4) 다양한 반복자에서 이동하기 

5) 기본적인 사용자 정의 컨테이너 만들기 

6) std::list의 삽입 또는 삭제 함수 사용하기 

7) 조직도 구조 만들기 

8) 레벨 순서 순회 구현하기 

9) BST 구현하기 

10) 중앙값 구하기 


2. 배운점 

위의 예제들을 손코딩 하였고 결과가 잘 실행되는지 확인하였다. 


처음 써본 표준 header 파일들: 

<sstream> 

<type_traits>

<foward_list> 단일 링크드 리스트 


그외 개념들: 

- std::common_type 템플릿? 

- std::forward

- 람다표현식 사용해보기 

- 후행 리턴 타입 (trailing return type): auto 키워드로 반환형이 정의된 함수의 반환형을 명시 

- && (우측 값 참조 문법) : 임시 객체는 이름없는 r-value 이기 때문에 기존 & 문법으로는 참조가 불가했음.

- friend 

- NULL 과 nullptr의 차이 

- camel case vs snake case: public 의 경우는 카멜을 쓰고 private 자원에 대해서는 스네이크를 쓰는 것 같음. 


일단 새로 배우는 개념을 최대한 머리속에 넣으려고 하고 있다. 

이것들을 완벽하게 아는 것보다 Q2, Q3와 같이 매주 앞으로 전진하려고 한다. 


3. 두번째 퀘스트 


첫번째 퀘스트가 1~10번 이므로 같은 방식으로 11~ 20번까지 진행해본다. 


11) 그래프를 구성하고 인접 행렬로 표현하기 

12) 그래프를 구성하고 인접 리스트로 표현하기 

13) 정수 값을 저장하는 간단한 사전

14) 체이닝을 사용하는 해시 테이블 

15) 뻐꾸기 해싱

16) STL에서 제공하는 해시 테이블

17) 블룸 필터 만들기

18) 이진 검색 구현 및 성능 평가 

19) 병합 정렬

20) 퀵 정렬


감사합니다. 

2022.2.12

매거진의 이전글 [Q1] 첫번째 퀘스트

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari