WIL (Weekly I Learned)
이번주에 배운 것
- C 프로그램 빌드 과정
- 빌드: 사람이 읽기 쉬운 소스코드를 기계어 명령어로 변환
- 빌드 4단계 : 전처리 - 컴파일 - 어셈블 - 링크
- 상속
- 다른 클래스의 특성들을 내려 받음
- 부모 클래스의 특정 생성자를 호출할 때는 초기화 리스트를 사용해야 함
- 오버라이딩
- 말을 하는 행위는 어느 Animal이나 있다. 단, 실제 무슨 말을 하는지는 자식 클래스가 결정하게 하자
- 가상함수
- 자식 클래스의 멤버 함수가 언제나 호출됨 (부모의 포인터 또는 참조를 사용중이더라도)
- 동적(dynamic) 바인딩, 늦은(late) 바인딩
- 실행 중에 어떤 함수를 호출할지 결정
- 당연히 정적 바인딩보다 느림
- 이를 위해 가상테이블이 생성됨
- 모든 가상 멤버 함수의 주소를 포함
- 클래스 마다 하나!
- 자료구조
- 분류
- 선형 구조 : 선형 리스트(배열), 연결 리스트, 스택, 큐, 데크
- 자료를 구성하는 원소들을 순차적으로 나열시킨 형태
- 비선형 구조: 트리, 그래프
- 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 형태
- 선형 구조 : 선형 리스트(배열), 연결 리스트, 스택, 큐, 데크
- 배열
- 인덱스 사용해서 검색 빠르나 중간 삽입삭제가 어려움
- 연결 리스트 (코드, 그림 체화시키기)
- 중간 삽입삭제 빠르지만 검색속도 느림
- 스택(Stack)
- 후입선출(LIFO)
- 가장 밑바닥: Bottom
- 자료 입력 명령어: Push
- 자료 출력 명령어: Pop
- 큐(Queue)
- 선입선출(FIFO)
- 삭제 작업(가장 먼저 삽입된 자료의 기억 공간을 가리킴) : Front 포인터
- 삽입 작업(가장 마지막에 삽입된 자료가 위치한 기억 장소를 가리킴) : Rear 포인터
- 순서를 기다리는 대기 행렬 처리에 사용되거나 운영 체제의 작업 스케줄링에 사용
- 데크(Deque)
- Stack과 Queue의 장점을 빼서 따로 구성된 자료구조로, 삽입 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있음
- 분류
차주에 진행할 것
- C++ ~7주차까지 : 표준 템플릿 라이브러리(맵, 셋, 큐, 스택, 리스트)까지
- C ~4주차까지 : 콘솔 출력까지
- Effective C++: ~Chapter 2
- VR Project 출시 (금요일 시작)
- 프로그래머스 고득점 Kit - 탐욕법, 스택/큐
- 프로그래밍 면접 이렇게 준비한다 ~연결리스트까지
앞으로 진행할 것
- 트러블 슈팅 경험 정리
- 우아한 Tech - [10분 테코톡] 한주에 하나씩
- 게임 프로그래밍 패턴
- 선형대수학 개론
- 언리얼
'TIL' 카테고리의 다른 글
WIL (22.04.03) (0) | 2022.04.06 |
---|---|
WIL (22.03.27) (0) | 2022.03.28 |
WIL (22.02.27) (0) | 2022.02.28 |
WIL (22.2.20) (0) | 2022.02.22 |
WIL (22.02.13) (0) | 2022.02.14 |
댓글