트리 개념⇒ 노드와 간선으로 이루어진 계층적 자료구조. (부모- 자식 관계)⇒ 순환을 허용하지 않음.⇒ 코테에서는 이진트리(자식 노드가 최대 2개인 트리)만 알면 됨. 이진 트리 표현하기1. 배열루트 노트 인덱스 = 1왼쪽 자식 노드는 부모노드 인덱스 *2오른쪽 자식 노드는 부모노드 인덱스 * 2 +12. 인접 리스트⇒각 리스트의 인덱스는 부모 노드⇒자식 노드는 부모 노드에 해당되는 인덱스에 추가 이진 트리 순회1. 전위순회 (부모 → 왼쪽 자식 → 오른쪽 자식) #include using namespace std;// 트리를 배열로 나타내기 위해서, 배열의 인덱스를 사용하는 후위 순회 함수 정의void postorderTraversal(int tree[], int index, int size) { ..
전체 글
해시 개념- 배열을 가지고 연락처를 구현할 때 미우 비효율적 (O(N))- 해시 함수를 이용하여 연락처를 구현하면 훨씬 효율적 (O(1))해시 함수란? ⇒임의의 키를 해시 테이블의 인덱스로 변경해주는 함수 해시 테이블의 크기가 N이라면 해시함수는 0~(N-1)사이 값을 반환 해야함. 충돌 : 서로 다른 키를 해시함수에 넣었을 때 , 동일한 인덱스를 반환하는것. ⇒ 따라서 이 충돌을 최소화 할수록 좋은 해시함수 나눗셈법 ⇒ 입력값을 테이블의 크기로 나누고 나머지를 테이블의 주소로 사용. 주소 = 입력값 %테이블의 크기. 일반적으로 나눗셈법으로 구현된 해시 함수고 테이블 내 공간을 효율적으로 사용하기 위해서는 테이블의 크기를 소수로 정하는 것이 좋다고 알려짐. 해시 충돌 ⇒ 서로 다른키에 대해 ..
ADT란?⇒추상 데이터 타입의 약어세부 사항(내부 자료구조, 프로그래밍 언어, 저장공간의 크기)을 숨기고 사용자에게 필요한 기능(연산 ,입력,출력)만 명시 하는 것.=⇒ 이런식으로 사용자는 연산에 해당 되는 부분만 사용하여 데이터에 접근이 가능 합니다.=⇒ 구체적인 데이터 저장 방법은 추상화되어 있으므로 이를 통해 데이터의 무결성, 일관성을 유지할 수 있습니다—> 따라서 ADT를 사용하면 복잡한 자료구조의 내부 구현을 감추고, 필요한 연산만 정의함으로써 자료구조 동작 자체에 집중할 수 있습니다.Stack => LIFO(Last In First Out)코테에서는 이 문제에서 내가 스택을 필요로 하는 경우를 판단하여 문제를 풀어야 한다.가장 최근에 들어온 원소를 알 수 있다!가장 최근에 들어온 원소순으로 나..
빌트인 데이터 타입(배열)int main(){ int a[5]; a[3]=2; cout==> 임의 위치에 원소 삽입할 경우 O(N), 맨 뒤에 원소 삽입 할 경우 O(1)동적 배열int* dynamicArr=new int[10];//동적 배열 메모리 선언delete[] dynamicArr;// 동적배열 메모리 해제int size;cout문자열C와 다른점 =⇒ 문자의 연속으로 구성되며 \0 문자로 종료되지 않는다.문자열 관련 함수string str1="Hello, World!"cout 출력: World //7번째 문자인 W부터 자신을 포함한 5개 출력c++ 에서 string::npos 는 size_t 로 정의된 특수값이다. find함수 수행시 찾는 문자열이 없을때 npos를 반환한다.size_t pos =..
주제 : XR 대중화!슬로건 : ==> "현재 일반 유저들의 일상의 한 부분을 완전히 대체할 수 있는 XR서비스" 사실 나는 팀빌딩을 할 때 트랙3 or 트랙4을 선택하여 VR을 이용한 게임을 만드려고 하여 리서치, 데브, 디자인 팀을 구성하였지만 결국에는 트랙5 (개인의 역량 강화)을 선정 받았다. 우리팀은 리서치 2, 데브 2, 디자인 2 총 6명의 팀으로 구성이 되었다VR환경을 이용한 비지니스매너 게임기반학습 컨텐츠 개발 과정트랙 5에 대한 프로젝트 주제를 정할 때 드론 조종 시뮬레이터, 외국어 학습 시뮬레이터 등 다양한 재미있는 주제가 나왔다. 투표를 통해 가장 마음에 드는 키워드를 정하였는데, 그 결과 "비지니스 매너" 키워드가 선정되었다.최근 뉴스를 보면 세대간 예절 인식에 관련한 갈등이 점..
1. 시간 복잡도 ==> 입력값에 따른 연산횟수를 측정하여 알고리즘의 성능을 지표로 나타냄. - 코딩 테스트에서는 최악의 경우를 기준으로 연산횟수를 정하는게 합리적!2. 점근적 표기법 ==> 정확한 연산횟수 x 연산 횟수 추이만!==> 이때 최악의 경우를 고려해 점근적 표기법으로 나타낸 것이 빅오 표기법 EX) O(N^2) 3. 자주 보이는 복잡도 출처 [지금 무료] 코딩 테스트 합격자 되기 - C++ 강의 | dremdeveloper - 인프런dremdeveloper | 코딩 테스트 합격을 위한 C++ 강의, 책 없이도 가능! 저자와 직접 소통 가능한 커뮤니티 제공!, [사진]여기에 문의 하세요https://open.kakao.com/o/gX0WnTCf📘 코딩 테스트 합격자 되기 - C++편www..