본문 바로가기
728x90
반응형

Software78

[자료구조] 5. 큐(Queue) 5. 큐(Queue)  정의FIFO(First In First Out) 구조를 가진 자료구조먼저 들어온 데이터가 먼저 나가는 방식(줄을 서는 것처럼 순서대로 처리)  종류기본 큐 : 선형적으로 데이터를 삽입하고 삭제하는 방식원형 큐(Circular Queue) : 배열의 끝과 시작이 연결된 형태로, 배열의 공간을 지속적으로 재활용우선순위 큐(Priority Queue) : 각 요소에 우선순위가 부여되어 우선순위가 높은 요소부터 삭제됨  기본 구조요소앞(Front, Head), 뒤(Back, Rear, Tail)  특징 FIFO(First In First Out) 구조동적 크기 변화 : 큐는 동적으로 크기가 변할 수 있으며단 방향 데이터 흐름 : 데이터는 한 방향으로만 흐르고, 삽입은 뒤에서, 삭제는 앞에.. 2024. 11. 11.
[자료구조] 4. 스택(Stack) 4. 스택(Stack) 정의LIFO(Last In First Out) 구조를 가진 자료구조마지막에 삽입된 데이터가 가장 먼저 삭제되는 방식  종류배열 기반 스택 (Array-based Stack)연결 리스트 기반 스택 (Linked-based Stack)순환 스택 (Circular Stack)  기본 구조요소스택 포인터 (Top) : 스택의 맨 위 요소를 가리키는 포인터  특징LIFO(Last In First Out) 구조제한된 접근 방식 : 삽입과 삭제는 항상 스택의 맨 위에서 이루어짐크기 : 배열로 구현한 스택은 고정 크기, 연결 리스트로 구현한 스택은 가변 크기를 가짐재귀적 문제 해결에 유리  활용 예시함수 호출 스택 : 프로그래밍 언어에서 함수 호출 시 각 함수의 지역 변수와 실행 상태가 스택에 .. 2024. 11. 11.
[자료구조] 3. 연결 리스트(Linked List) 3. 연결 리스트(Linked List)   정의데이터가 순차적으로 연결된 노드들의 집합으로 이루어진 자료 구조. 기본 구조데이터 : 저장할 값포인터 : 다음 노드의 주소를 가리키는 포인터첫 번째 노드를 헤드(Head)라고 하며, 가장 마지막 노드의 포인터는 Null을 가리킴 종류단일 연결 리스트(Singly Linked List)이중 연결 리스트(Doubly Linked List)원형 연결 리스트(Circular Linked List) 특징동적 크기 : 메모리에 필요한 만큼만 노드를 추가할 수 있어 동적 메모리 할당 가능노드 기반의 자료 구조 : 노드(Node)라는 단위로 구성되며, 각 노드는 데이터와 다음 노드에 대한 포인터로 이루어짐비연속적 메모리 할당 : 각 노드가 흩어진 메모리에 저장되고, 포인.. 2024. 11. 10.
[자료구조] 2. 배열(Array) 2. 배열(Array) 배열(Array) 정의동일한 데이터 타입을 가진 요소들이 연속적인 메모리 공간에 저장된 자료구조, 요소(element)와 인덱스(index)로 구성특징고정된 크기 : 배열의 크기는 생성시 결정되며 이후에는 변경할 수 없음연속적인 메모리 : 배열의 요소들은 메모리 상에서 연속적으로 저장되며, 인덱스를 통해 빠르게 접근할 수 있음동일한 데이터 타입 : 배열은 동일한 데이터 타입의 요소들만 저장할 수 있어서 메모리를 효율적으로 사용할 수 있음활용 예시데이터 목록 저장Matrix 데이터 저장버퍼로 사용되어 임시로 데이터 저장정렬/탐색 알고리즘스택, 큐, 그래프, 트리의 기본 구조 역할 연산과 시간 복잡도  연산설명시간 복잡도접근 (Access)인덱스를 통해 특정 위치의 요소에 접근. 예:.. 2024. 11. 9.
[자료구조] 1. 자료구조(Data Structure)란? 1. 자료구조(Data Structure)란?  자료구조 정의자료구조(Data Structure)는 데이터를 효율적으로 저장하고 관리하기 위해 조직하는 방법과 규칙효과적인 자료구조를 통해 데이터를 빠르게 접근하고, 삽입, 삭제, 정렬, 탐색 등의 작업을 효율적으로 수행할 수 있음다양한 자료구조들은 특정 상황에 맞게 최적화되어 있음각 자료구조는 특정한 시간과 공간 효율성을 가짐  자료구조 분류Primitive Data Structure기본 데이터 유형하나의 값만 가질 수 있음고정된 크기를 가짐정수, 실수, 문자, 논리형 등 Non-Primitive Data Structure복합 데이터 유형한번에 여러 값을 가질 수 있음가변 크기를 가짐배열, 연결리스트, 스택, 큐, 트리, 그래프 등 Linear Struc.. 2024. 11. 1.
[C 언어] 3. Memory Structure(메모리 구조) 3. Memory Structure(메모리 구조) 메모리 구조프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다.운영체제는 프로그램의 실행을 위해 다양한 종류의 메모리 공간을 제공한다.코드 영역 (Code)이 영역은 실행 가능한 코드, 즉 프로그램의 명령어들이 저장된다.읽기 전용(Read Only)이며, 프로그램 실행 중에는 수정할 수 없다.컴파일된 코드가 이곳에 저장된다.데이터 영역 (Data)이 영역은 전역 변수와 static 변수들이 저장된다.초기화된 데이터와 초기화되지 않은 데이터로 나뉜다초기화된 데이터 영역 (Initialized Data Segment): 프로그램이 시작될 때 값이 할당된 전역 변수와 static 변수들이 저장된다.초기화되지 않은 데이터 영역 (BSS Segm.. 2024. 9. 1.
728x90
반응형