2024/06 6

[C#] 해시셋 (HashSet)

1. 해시셋(HashSet)이란? 해시셋(HashSet)은 C#의 'System.Collections.Generic' 네임스페이스에 포함된 컬렉션 클래스 중 하나로, 해시 테이블을 기반으로 구현된 집합 데이터 구조입니다. 해시셋은 중복되지 않은 요소들의 모임을 관리하는데 최적화되어 있으며, 빠른 탐색, 추가 및 삭제 작업을 제공합니다. 이는 특히 고유한 값들만을 유지해야 하는 경우에 유용합니다.   2. 내부 작동 구조해시셋의 내부 구조는 해시 테이블을 기반으로 합니다. 해시 테이블은 키-값 쌍을 저장하는 데이터 구조로, 키를 해시 함수에 의해 해시 코드로 변환하고, 이 해시 코드를 인덱스로 사용하여 요소를 저장합니다. 해시 셋의 작동 원리는 다음과 같습니다. 해시 함수: 해시 함수는 객체의 고유한 해시..

CS 공부 2024.06.28

[C#] 링크드 리스트 (Linked List)

1. 링크드 리스트(Linked List)란? C#의 링크드 리스트(Linked List)는 데이터 구조의 한 현태로, 각 요소가 노드(Node)로 구성되며, 각 노드는 데이터와 다음 노드에 대한 참조를 포함합니다. 링크드 리스트는 동적 메모리 할당을 통해 크기가 가변적이며, 연속적인 메모리 주소에 저장되는 것이 아닌, 비 연속적으로 저장이 되며 이전, 다음 노드 정보를 통해 데이터를 연결합니다.이러한 구조로 배열과 달리 요소의 삽입 및 삭제가 용이하다는 장점이 있습니다.'System.Collections.Generic' 네임스페이스에 포함된 'LinkedList' 클래스를 사용하여 링크드 리스트를 구현할 수 있습니다.   2. 내부 작동 구조 링크드 리스트는 주로 세 가지 유형이 있습니다. 1. 단일 ..

CS 공부 2024.06.23

[C#] 딕셔너리 (Dictionary)

딕셔너리란?C#의 Dictionary 자료구조는 키와 값의 쌍의 데이터를 저장하는 제네릭 컬렉션입니다.이 자료구조는 System.Collections.Generic 네임스페이스에 포함되어 있으며, 키를 사용하여 값을 효율적으로 검색할 수 있습니다.  주요 특징 및 기능1. 키-값 쌍 저장:딕셔너리는 키와 값의 쌍을 저장합니다. 각 키는 고유하며, 중복될 수 없습니다.값은 중복될 수 있지만, 키는 유일해야 합니다. 2. 빠른 검색 속도:딕셔너리는 해시테이블을 사용하여 내부적으로 데이터를 저장하므로, 평균적으로 O(1)의 시간 복잡도로 키를 사용한 값 검색이 가능합니다. 3. 제네릭 타입 지원:Dictionary는 제네릭 타입을 지원하여, 타입 안정성과 성능을 보장합니다.예: Dictionary, Dicti..

CS 공부 2024.06.21

[Unity] 재사용 스크롤 뷰(Recyclable Scroll View)

수정된 설명과  코드, 이미지를 추가하여 새롭게 글을 작성했습니다.재사용 스크롤 뷰의 경우 이곳에서 확인해주세요. https://unity-programming-study.tistory.com/51   재사용 스크롤 뷰(Recyclable Scroll View)란?유니티에서 재사용 스크롤 뷰(Recyclable Scroll View)는 많은 수의 아이템을 포함하는 스크롤 리스트를 효율적으로 관리하기 위한 기법입니다. 이 기술은 메모리 사용량을 줄이고 성능을 향상시키기 위해 사용됩니다. 1. 재사용 스크롤 뷰의 개념일반적인 스크롤 뷰에선 리스트에 있는 모든 아이템을 UI 요소로 생성합니다. 만약 수백 개 이상의 아이템이 있는 경우, 모든 아이템을 한 번에 생성하면 많은 메모리와 CPU자원을 소모하며 버벅임..

Unity 공부 2024.06.18

[C#] 리스트 (List)

1. C# List란?C#에서 List는 제네릭 컬렉션으로, C++에서 동적으로 크기가 조절되는 Vector와 유사합니다. List는 . Net의 ‘Systtem.Collections.Generic’ 네임스페이스에 속해 있으며, 다양한 데이터 타입을 저장하고 관리하는데 유용합니다.   2. 주요 특징제네릭 타입: 리스트는 제네릭 타입으로, 특정 타입의 데이터를 저장할 수 있습니다. 타입 안전성을 제공하여 컴파일 시간에 타입 오류를 방지할 수 있습니다.동적 크기 조정: 리스트는 내부적으로 배열을 사용하여 요소를 저장합니다. 리스트의 크기 조정은 다음과 같이 작동합니다. 1. 요소 추가 시 크기 조정: 리스트의 용량이 현재 요소의 수를 초과할 때, 새로운 요소를 추가하면 내부 배열의 크기가 두 배로 증가합니..

CS 공부 2024.06.16

[C#] 자료구조와 컬렉션

자료구조(Data Structure)자료구조란?자료구조는 컴퓨터 과학에서 데이터를 효율적으로 관리하기 위해 사용되는 다양한 방식과 체계입니다. 데이터의 조직, 관리, 저장 형식을 정의하며, 이를 통해 데이터에 빠르고 효율적으로 접근하고 조작할 수 있도록 합니다. 적절한 자료구조의 선택은 프로그램의 성능에 직접적인 영향을 미치므로 매우 중요합니다.  자료구조의 중요성1. 효율적인 데이터 관리: 자료구조는 데이터를 체계적으로 저장하여 관리의 복잡성을 줄이고, 데이터를 빠르게 검색, 삽입, 삭제할 수 있게 해줍니다.2. 성능 향상: 적절한 자료구조를 사용하면 프로그램의 성능이 크게 향상됩니다. 예를 들어, 배열과 링크드 리스트의 선택은 데이터 접근 속도와 메모리 사용량에 큰 차이를 가져올 수 있습니다.3. 코..

CS 공부 2024.06.11