본문 바로가기

자료구조13

집합 1. 집합?순서와 중복이 없는 원소를 갖는 자료구조예시A 그룹 원소가 { 1, 1, 2, 3} 이라면 집합으로 생각할 때 중복된 1 빼고 {1, 2, 3}종류유한집합 : 원소 갯수가 유한무한집합 : 원소 갯수가 무한공집합 : 원소가 없음상호배타적 집합?교집합이 없는 집합 관계코테서 어떻게 활용?그래프 알고리즘 이미지 분할 : 사람과 배경을 겹치지 않게 분할 할 때도로 네트워크 구성 : 도로 구축 시, 서로 교차하지 않도록 설계최소 신장 트리알고리즘 : 간선 추가시마다 사이클 형성하는지 체크할 때게임 개발: 플레이어랑 에너미가 오버랩할 때 겹치지 않도록 처리할 때클러스터링 작업: 각 작업이 겹치지 않도록 구성2. 집합의 연산?집합은 배열 활용해서 트리로 구현함각 집합에는 대표원소가 있어야 함 -> 대표 원.. 2025. 2. 3.
배열 배열 넘 쉽지만...기초 정리 -> 개념만 이해 ^^코테에서는 vector 쓰는 게 속편하다1. 예시 코드 2. 배열의 차원1차원 말고 2차원, 3차원...같은 다차원 배열도 메모리에 연속 할당됨. (1차원 공간에!)배열로 선언한 변수는 메모리의 연속된 공간에 할당됨GPT 답변... 무슨 말?..char* 타입의 주소는 cout로 출력할 때 문자열(char 배열)로 간주 -> 해당 주소부터 \0이 나올 때까지의 문자들을 출력하려고 시도 -> 의도치 않은 결과 출력..C++에서 void*는 **모든 포인터 타입을 저장할 수 있는 "포인터의 공통 타입"**입니다.void*는 어떤 타입의 데이터를 가리키는지 정보를 포함하지 않음즉, void*로 변환하면 데이터의 타입과 무관하게 그저 메모리 주소로 처리어쨌든 .. 2025. 1. 28.
STL- 큐 1. 큐 (Queue)?큐는 줄을 서다. 큐 (Queue)?먼저 들어간 게 먼저 나오는 First In First Out 구조(선입선출)코테에서 STL에서 제공하는 큐 사용해도 충분함~~~~~STL 제공하는 큐의 push(), pop(), front(), empty()는 모두 O(1)2. 큐에서 필요한 함수와 변수bool IsFull() : 큐의 데이터 갯수가 MaxSize인지 아닌지 true/ false 반환bool IsEmpty() : 큐에 데이터 0개인지 아닌지 true/ false 반환void Push(DataType Data): 큐데 데이터 삽입DataType Pop() : 큐에 데이터 제거하고 그 데이터 반환int front : 가장 마지막에 팝한 위치 (한 개도 팝 안 했다면 맨 처음 들어간.. 2025. 1. 28.
SLT-스택 1. 스택이란?쌓는다후입선출: 마지막 들어간 게 먼저 나오는 것LIFO : Last In First OutPush: 삽입하기Pop:  꺼내기2. 스택에 필요한 연산과 변수Push : 스택에 데이터 푸쉬하는 함수Pop : 최근 데이터 팝하고 그 데이터 반환IsFull : 스택에 들어 있는 데이터가 MaxSize인지 확인 -> 맞다면 True/ 아니면 False IsEmpty : 스택에 데이터가 한개도 없다면 True/ 있다면 FalseTop : 최근에 푸시한 데이터 위치Data[MaxSize]: 스택 데이터 관리하는 배열  3. 예시 코드top() -> 최근 넣은 데이터 반환pop() -> 최근 넣은 데이터 삭제. 아무것도 반환X 2025. 1. 27.
STL 컨테이너 4 - 정렬되지 않은 셋 & 맵 셋과 맵은 내부 구조가 이진 탐색 트리임그래서 정렬 상태 유지함근데 정렬하면 성능저하해서 정렬 필요 없을 땐 굳이임..!시간 복잡도 O(logN)그래서 C++엔 정렬되지 않는 셋, 정렬되지 않은 맵이 있당!얘네는 이진탐색 트리 기반 X해시 기반임삽입, 삭제 탐색이 시간 복잡도 O(1)#include#include 2025. 1. 24.
STL 컨테이너 3 - 맵 1. 맵이란?키와 값을 쌍으로 갖는 컨테이너이 쌍을 entry 라고 함STL에서 std::pair 타입으로 표현내부는 균형 이진 탐색 트리로 구성그래서 키 값 기준으로 자동 정렬함시간 복잡도 O(logN)맵의 키값은 중복되지 않음! 유일맵헤더 추가해서 써야 함2. 빈 맵 선언하기-----------------------------------------------------------------------------------------------------------------------이름이 Key, 점수가 Value 3. 맵에서 특정 키에 접근하기?!-----------------------------------------------------------------------------[ ]연산자 사.. 2025. 1. 24.