C#/Data Structure
-
※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.연결 리스트와 정렬된 리스트 (LinkedList, SortedList) 해당 자료구조 2개 모두 List 에서 파생된 클래스LinkedList 는 데이터를 포함하는 노드들을 연결하여 각 노드가 다음 요소에 대한 포인터를 가지고 있는 자료구조(이중 연결 리스트)LinkedList 는 특정 노드에서 삽입/삭제가 편리하지만, 특정 노드를 검색하기 위한 시간이 느림{O(n)}SortedList 는 Hashtable 과 ArrayList..
[C# 자료구조] LinkedList, SortedList※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.연결 리스트와 정렬된 리스트 (LinkedList, SortedList) 해당 자료구조 2개 모두 List 에서 파생된 클래스LinkedList 는 데이터를 포함하는 노드들을 연결하여 각 노드가 다음 요소에 대한 포인터를 가지고 있는 자료구조(이중 연결 리스트)LinkedList 는 특정 노드에서 삽입/삭제가 편리하지만, 특정 노드를 검색하기 위한 시간이 느림{O(n)}SortedList 는 Hashtable 과 ArrayList..
2021.10.11 -
※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.해시테이블과 딕셔너리 (Hashtable, Dictionary) 두 자료구조는 모두 키 (Key) 와 값 (Value) 을 한쌍으로 데이터를 저장(중복 Key는 허용하지 않음)Hashtable은 Key와 Value 모두 object 타입으로 박싱/언박싱이 발생(선언 시, 타입을 명시하지 않음 [Non-Generic])Dictionary는 Key와 Value 모두 strong 타입으로 박싱/언박싱이 발생하지 않음(선언 시, 타입을 ..
[C# 자료구조] Hashtable, Dictionary※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.해시테이블과 딕셔너리 (Hashtable, Dictionary) 두 자료구조는 모두 키 (Key) 와 값 (Value) 을 한쌍으로 데이터를 저장(중복 Key는 허용하지 않음)Hashtable은 Key와 Value 모두 object 타입으로 박싱/언박싱이 발생(선언 시, 타입을 명시하지 않음 [Non-Generic])Dictionary는 Key와 Value 모두 strong 타입으로 박싱/언박싱이 발생하지 않음(선언 시, 타입을 ..
2021.10.03 -
※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.스택과 큐 (Stack, Queue) Stack 은 나중에 들어온 데이터가 먼저 나가는 후입선출 (LIFO) 방식(Push/Pop) Queue 는 먼저 들어간 데이터가 먼저 나가는 선입선출 (FIFO) 방식(Enqueue/Dequeue) 두 자료구조 모두 데이터를 순서대로 입출력하기 때문에 순차적으로 처리하기에 용이함(중간 요소 삽입/삭제 불가) 선언 및 사용 방법public class StackQueueExample{ St..
[C# 자료구조] Stack, Queue※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.스택과 큐 (Stack, Queue) Stack 은 나중에 들어온 데이터가 먼저 나가는 후입선출 (LIFO) 방식(Push/Pop) Queue 는 먼저 들어간 데이터가 먼저 나가는 선입선출 (FIFO) 방식(Enqueue/Dequeue) 두 자료구조 모두 데이터를 순서대로 입출력하기 때문에 순차적으로 처리하기에 용이함(중간 요소 삽입/삭제 불가) 선언 및 사용 방법public class StackQueueExample{ St..
2021.09.26 -
※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.가변 배열과 리스트 (ArrayList, List) ArrayList 는 동적으로 크기 조정, 요소의 추가 및 삭제가 가능한 가변형 객체 타입 (동적 컬렉션)ArrayList 는 서로 다른 타입의 데이터를 배열에 저장 가능 (박싱/언박싱 발생)List 도 동일한 동적 컬렉션이지만 Generic 구현으로 타입 안정성 보장 (List)List 는 ArrayList 의 단점을 보완하여 같은 타입만 저장이 가능 (박싱/언박싱 발생안함)특..
[C# 자료구조] ArrayList, List※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.가변 배열과 리스트 (ArrayList, List) ArrayList 는 동적으로 크기 조정, 요소의 추가 및 삭제가 가능한 가변형 객체 타입 (동적 컬렉션)ArrayList 는 서로 다른 타입의 데이터를 배열에 저장 가능 (박싱/언박싱 발생)List 도 동일한 동적 컬렉션이지만 Generic 구현으로 타입 안정성 보장 (List)List 는 ArrayList 의 단점을 보완하여 같은 타입만 저장이 가능 (박싱/언박싱 발생안함)특..
2021.09.20 -
※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.배열 (Array) 동일한 타입의 변수들을 모아놓은 데이터의 집합이며 자료구조 중에서 가장 기본이 되는 데이터 타입이다.배열의 데이터들은 값 형식이 될 수 있지만, 배열 자체에는 참조 형식으로 접근한다.선언 방법 // {타입}[] {변수명} = new {타입} [{길이}] int[] testNumbers = new int[3];배열의 길이는 생성 및 초기화 하는 시점에 고정한다.만약에 데이터 타입이 참조 형식인 경우에는..
[C# 자료구조] Array※ 여러 참고 자료들의 내용을 토대로 다시 재정리 및 인용한 내용과 기록을 담고 있습니다.※ 가급적 모든 내용을 게임 개발 기술과 관련지어 설명하고 있습니다.※ 자료의 출처는 문단 최하단에 표기되어 있으며, 관련된 정보를 찾으시거나 공부하시는 분들에게 도움이 되셨으면 좋겠습니다.배열 (Array) 동일한 타입의 변수들을 모아놓은 데이터의 집합이며 자료구조 중에서 가장 기본이 되는 데이터 타입이다.배열의 데이터들은 값 형식이 될 수 있지만, 배열 자체에는 참조 형식으로 접근한다.선언 방법 // {타입}[] {변수명} = new {타입} [{길이}] int[] testNumbers = new int[3];배열의 길이는 생성 및 초기화 하는 시점에 고정한다.만약에 데이터 타입이 참조 형식인 경우에는..
2021.09.12