하랑이 코딩

컴퓨터공학/자료구조 7

선형 자료구조 - 해시테이블과 딕셔너리 c#

해시테이블(HashTable)과 딕셔너리(Dictionary)해시테이블(HashTable) 해시 테이블은 키-값 쌍을 저장하는 데이터 구조로, 각 키를 해시 함수에 의해 계산된 해시 값을 기반으로 인덱싱하여 빠르게 데이터에 접근할 수 있습니다. 이는 평균적으로 O(1)의 시간 복잡도로 삽입, 삭제, 검색을 수행할 수 있게 합니다.  딕셔너리(Dictionary) 딕셔너리는 키-값 쌍을 저장하고 관리하는 데이터 구조로, 각 키는 고유하며 해시 함수를 통해 빠르게 접근할 수 있습니다. 키를 통해 값에 직접 접근할 수 있어 삽입, 삭제, 검색 연산이 평균적으로 O(1)의 시간 복잡도로 효율적으로 수행됩니다.  해시테이블(HashTable)과 딕셔너리(Dictionary) 차이는?해시테이블: 비제네릭 컬렉션으로..

선형 자료구조 - 큐(Queue) c#

큐(Queue)이란? C#에서의 큐(Queue)는 선입선출(FIFO) 방식으로 데이터를 저장하는 자료 구조입니다. 요소를 추가하는 작업은 Enqueue로, 제거하는 작업은 Dequeue로 수행됩니다.  꼭 알아야 하는 지식! 큐(Queue) Enqueue - 요소(데이터)값을 추가하는 작업을 의미합니다.Dequeue - 요소(데이터)값을 제거하는 작업을 의미합니다.   Rear - 자료 구조에서 큐의 뒤쪽을 가리키는 용어입니다. Front - 자료 구조에서 큐의 앞쪽을 가리키는 용어입니다. 큐(Queue) 이론일단 큐를 사용하기 위해서 위 지식들 중 몇 가지를 꼭 알아야 합니다.선입선출, Enqueue, Dequeue 이 3가지 지식은 꼭 알아야 아래 있는 사진이나 설명을 이해할 수 있습니다.  일단..

선형 자료구조 - 스택(Stack) c#

스택(Stack)이란? C#에서의 스택은 후입선출(LIFO) 방식으로 데이터를 저장하는 자료 구조입니다. 요소를 추가하고 제거할 때는 맨 위(top)에서만 가능합니다. 꼭 알아야 하는 지식! 스택(Stack)후입선출 - 후입선출(LIFO)은 가장 나중에 들어온 데이터가 먼저 나가는 자료 구조의 원리를 나타냅니다. 탑(top) - "top"은 스택의 맨 위에 위치한 요소를 가리키는 포인터 역할을 합니다. 팝(pop) "팝(pop)"은 스택에서 맨 위에 있는 요소를 제거하는 작업을 의미합니다. 푸시(push) "푸시(push)"는 스택의 맨 위에 새로운 요소를 추가하는 작업을 의미합니다.  스택(Stack) 이론일단 스택을 사용하기 위해서 위 지식들 중 몇 가지를 꼭 알아야 합니다.후입선출, 탑(top), ..

선형 자료구조 - 연결 리스트(LinkedList) c#

리스트란?C#의 리스트(List)는 System.Collections.Generic 네임스페이스의 List 클래스를 사용하여 다양한 타입의 데이터를 순차적으로 저장하고 관리할 수 있는 유연한 제네릭 컬렉션입니다. 꼭 알아야 하는 지식! 리스트ArrayList - 내부적으로 배열을 사용LinkedList - 링크 포인터를 사용List - 제너릭 타입 배열의 특징생성 시 사용할 공간을 미리 할당한다.인덱스를 사용 데이터 접근에 빠르다.데이터의 크기를 변경하지 못한다. 리스트특징데이터의 추가 삭제가 자유롭다.생성 시 크기를 지정하지 않는다.리스트를 다른 말로 Dynamic Array라고 부른다. 박싱(Boxing)값 형식을 참조 형식으로 변환하는 것 언박싱(Unboxing)참조  형식을 값 형식으로 변환하는 ..

선형 자료구조 - 리스트(List<T>) c#

리스트란?C#의 리스트(List)는 System.Collections.Generic 네임스페이스의 List 클래스를 사용하여 다양한 타입의 데이터를 순차적으로 저장하고 관리할 수 있는 유연한 제네릭 컬렉션입니다. 꼭 알아야 하는 지식! 리스트ArrayList - 내부적으로 배열을 사용LinkedList - 링크 포인터를 사용List - 제너릭 타입 배열의 특징생성 시 사용할 공간을 미리 할당한다.인덱스를 사용 데이터 접근에 빠르다.데이터의 크기를 변경하지 못한다. 리스트특징데이터의 추가 삭제가 자유롭다.생성 시 크기를 지정하지 않는다.리스트를 다른 말로 Dynamic Array라고 부른다. 박싱(Boxing)값 형식을 참조 형식으로 변환하는 것언박싱(Unboxing) 참조  형식을 값 형식으로 변환하는 ..

선형 자료구조 - 리스트(ArrayList) c#

리스트란? C#의 리스트(List)는 System.Collections.Generic 네임스페이스의 List 클래스를 사용하여 다양한 타입의 데이터를 순차적으로 저장하고 관리할 수 있는 유연한 제네릭 컬렉션입니다. 리스트ArrayList - 내부적으로 배열을 사용LinkedList - 링크 포인터를 사용List - 제너릭 타입  배열의 특징생성 시 사용할 공간을 미리 할당한다.인덱스를 사용 데이터 접근에 빠르다.데이터의 크기를 변경하지 못한다.  리스트특징데이터의 추가 삭제가 자유롭다.생성 시 크기를 지정하지 않는다.리스트를 다른 말로 Dynamic Array라고 부른다. ArrayList 사용법list.Add사용법using System;namespace MyCompiler { class Progr..

선형 자료구조 - 배열(Array) c#

배열이란?배열은 하나의 데이터 타입을 가지는 여러 개의 값들을 저장합니다. 예를 들어, 정수형 배열에는 정수만 저장할 수 있습니다. 배열 전체 코드using System;namespace MyCompiler { class Program { public static void Main(string[] args) { string coffeeA = "A커피"; string coffeeB = "B커피"; string coffeeC = "C커피"; Console.WriteLine(coffeeA); Console.WriteLine(coffeeB); Console.WriteLine(c..