본문 바로가기
반응형

스택3

6. 운영체제와 시스템 1. 프로세스 vs 스레드프로세스 (Process)정의: 실행 중인 프로그램의 독립적인 인스턴스 (예: 크롬 브라우저, 엑셀).특징:독립된 메모리 공간 (Code, Data, Heap, Stack)을 가집니다.프로세스 간 통신은 **IPC(Inter-Process Communication)**가 필요합니다 (파이프, 소켓 등).생성 비용이 높음 (메모리 할당, 리소스 복사 필요).스레드 (Thread)정의: 프로세스 내에서 실행의 흐름 (예: 크롬의 탭, 워드의 맞춤법 검사).특징:스택만 독립적이고, Code/Data/Heap 영역을 공유합니다.생성 비용이 낮음 (메모리 공유로 리소스 절약).동기화 필수 (공유 자원 접근 시 충돌 방지).멀티스레딩 (Multithreading)장점:자원 공유로 메모리 효.. 2025. 5. 10.
코딩테스트에서 자주 출제되는 각 자료구조별 예시 문제 2.1 배열 (Array)예시 문제:배열에서 최댓값 찾기# 배열에서 최댓값 찾기arr = [3, 5, 1, 2, 4]max_value = arr[0]for num in arr: if num > max_value: max_value = numprint(max_value) # 5구현 포인트초기값 설정: 첫 번째 원소를 임시 최댓값으로 설정합니다.선형 탐색: 배열의 모든 원소를 순회하며 현재 최댓값과 비교합니다.갱신 조건: 현재 원소가 최댓값보다 크면 갱신합니다.시간 복잡도: O(n)공간 복잡도: O(1) 2.2 연결 리스트 (Linked List)예시 문제:단일 연결 리스트 뒤집기class Node: def __init__(self, data): self.data = d.. 2025. 4. 18.
기본 자료구조 2.1 배열 (Array)이론정의: 같은 타입의 데이터가 연속적으로 저장된 자료구조. 인덱스를 통해 접근이 빠름(O(1)).특징:크기가 고정(동적 배열은 예외)삽입/삭제가 느림(O(n)), 인덱스 접근이 빠름(O(1))활용: 데이터 집합 저장, 반복문과 함께 사용실습 코딩 (Python)# 배열 선언 및 기본 연산arr = [10, 20, 30, 40, 50]# 인덱스 접근print(arr[2]) # 30 삽입 (맨 뒤에)arr.append(60)# 삭제 (인덱스 1의 원소 삭제)del arr[1]# 전체 출력for item in arr: print(item)2.2 연결 리스트 (Linked List)이론정의: 각 노드가 데이터와 다음 노드의 참조(포인터)를 가지는 자료구조.특징:동적 크기, 메모.. 2025. 4. 18.
반응형