2024/4/2 TIL
'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습
Q19.자료구조의 종류는 무엇이 있으며 각각 어떤 고유 장점 단점, 및 차이점이 있는지 설명해주세요
A19.
자료구조는 데이터를 구조화하고 조직화하는 방법을 정의하는데 사용된다.
각각의 자료구조는 고유한 특징과 장단점을 가진다.
1. 배열(Array):
배열은 동일한 자료형의 데이터 요소들을 연속적으로 메모리에 저장하는 자료구조이다.
장점: 빠른 접근이 가능하며 인덱스를 이용하여 데이터를 직접 접근할 수 있다.
단점: 크기를 변경하기 어렵고 중간에 데이터를 삽입하거나 삭제하기 어렵다.
배열은 정적으로 할당되며 크기가 변하지 않는다.
2. 연결 리스트(Linked List):
연결 리스트는 데이터 요소들을 노드라 불리는 객체로 구성하고,
각 노드는 데이터와 다음 노드를 가리키는 포인터로 이루어져 있다.
장점: 데이터 삽입 및 삭제가 쉽고, 크기를 동적으로 조절할 수 있다.
단점: 임의의 위치에 접근하는 데에는 선형적인 시간이 소요되며 추가적인 메모리 공간이 필요하다.
연결 리스트는 단일 연결 리스트와 이중 연결 리스트로 나뉘며,
각각의 노드는 다음 노드를 가리키는 포인터만 가지거나 이전과 다음 노드를 가리키는 포인터를 가진다.
3. 스택(Stack):
스택은 후입선출(LIFO, Last In, First Out) 원칙에 따라 데이터를 저장하는 자료구조이다.
장점: 데이터를 삽입하고 삭제하는 과정이 빠르며, 구현이 간단하다.
단점: 중간에 있는 데이터에 접근하기 어렵다.
스택은 push(데이터 추가), pop(데이터 제거), top(가장 위의 데이터 확인)과 같은 연산을 지원한다.
4. 큐(Queue):
큐는 선입선출(FIFO, First In, First Out) 원칙에 따라 데이터를 저장하는 자료구조이다.
장점: 데이터를 삽입하고 삭제하는 과정이 빠르며, 구현이 간단하다.
단점: 중간에 있는 데이터에 접근하기 어렵다.
큐는 enqueue(데이터 추가), dequeue(데이터 제거), front(가장 앞의 데이터 확인), rear(가장 뒤의 데이터 확인)와 같은 연산을 지원한다.
5. 트리(Tree):
트리는 계층적으로 데이터를 구조화하는 비선형 자료구조이다.
장점: 데이터 검색 및 삽입에 효율적이며, 정렬된 데이터를 저장하기에 유용하다.
단점: 트리의 구현이 복잡할 수 있으며, 균형 트리를 유지하는 작업이 필요할 수 있다.
이진 트리(Binary Tree), 이진 탐색 트리(Binary Search Tree), AVL 트리, 레드-블랙 트리 등 다양한 종류의 트리가 있다.
6. 해시 테이블(Hash Table):
해시 테이블은 키-값(key-value) 쌍을 저장하는 자료구조로, 키를 해시 함수에 적용하여 배열의 인덱스를 계산하고 해당 인덱스에 값을 저장한다.
장점: 빠른 검색 및 삽입이 가능하며, 해시 충돌을 처리하는 기법을 통해 데이터를 효율적으로 저장할 수 있다.
단점: 해시 충돌 발생 시 성능이 저하될 수 있으며, 메모리 공간을 많이 사용할 수 있다.
7. 그래프(Graph):
그래프는 정점과 간선으로 구성된 자료구조로, 두 정점을 연결하는 방향과 가중치가 있을 수 있다.
장점: 복잡한 관계를 나타낼 수 있으며, 다양한 알고리즘에 활용될 수 있다.
단점: 구현 및 연산에 대한 복잡성이 높을 수 있다.
타일셋 슬라이스하는 법
스프라이트 에디터 들어가기
스프라이트 에디터에서 작은 삼각형 클릭.
타입- 자동 클릭.
Grid By Cell로 자른다.
그 외 타일셋 관련 참고 링크
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=105389
애니메이션 타일
https://my-develop-note.tistory.com/16?category=819292
타일 팔레트 정보
'오늘의 나는 무엇을 잘했는지' - 성취
대분류 : 최종 팀 프로젝트 - 클라이언트 구현
소분류 : 타일셋 작업
어제 구한 타일셋 PNG 파일을 슬라이스하고, 타일셋에 임포트했다.
이제 레이어 별로 그리고, 솔리드 설정을 넣어주면 된다.
또한, 애니메이션 타일도 작업했다.
'오늘의 나는 어떤 문제를 겪었는지, 앞으로 어떻게 해결할 것인지' - 개선
타일셋 슬라이스 버튼을 못찾아서 한참 헤맸다.
스프라이터 에디터의 저 작은 삼각형을 클릭하고 또 버튼을 한 번 더 클릭해야 Grid by Cell 기능을 사용할 수 있었다.