메모리💻 프로그램 실행 메모리 영역 (4가지 주요 영역)프로그램이 실행될 때 운영체제는 해당 프로그램(프로세스)을 위해 가상 메모리 공간을 할당합니다. 이 공간은 일반적으로 네 가지 주요 영역으로 나뉩니다.1. 코드 영역 (Code Segment, Text Segment)저장 내용: 프로그램의 실행 가능한 명령어들, 즉 기계어 코드가 저장됩니다.특징:읽기 전용 (Read-Only): 프로그램 코드가 실행 중 의도치 않게 변경되는 것을 방지하기 위해 이 영역은 읽기 전용으로 설정됩니다.공유 가능: 동일한 프로그램이 여러 개 실행될 경우, 코드는 변경되지 않으므로 이 영역을 공유하여 메모리를 절약할 수 있습니다.생명 주기: 프로그램이 시작될 때 메모리에 로드되어, 종료될 때 해제됩니다.2. 데이터 영역 (..
디자인 패턴프로그래머들이 개발을하다가 공통적으로 비슷한 양상을 띄는 개발패턴이 나와서 그것을 이름을 붙여 만든 패턴모든 프로그래밍 분야에 활용 가능한 가이드라인 직역 - 설계양식품질유지,가이드라인 ,효율증가,시간감소,확장성증가,유지보수 용이디자인 패턴의 세 가지 주요 분류널리 알려진 디자인 패턴들은 주로 **GoF(Gang of Four)**라고 불리는 네 명의 저자가 정리한 23가지 패턴을 기반으로 하며, 목적에 따라 세 가지로 분류됩니다.1. 생성 패턴 (Creational Patterns) 🛠️객체의 생성 방식을 다룹니다. 객체를 직접적으로 인스턴스화하는 대신, 객체를 생성하는 작업을 캡슐화하거나 유연하게 만들어 시스템의 다른 부분이 객체 생성 방식에 덜 의존하도록 합니다. 2. 구조 패턴 (St..
알고리즘 알고리즘이란?알고리즘이란 문제를 해결하기 위한 과정을 논리적 절차에 따라 구성한 일련의 단계이며, 입력값에 따른 결과가 도출됩니다 알고리즘 설계 과정 문제 이해문제의 요구사항 분석, 입력과 출력의 형식 파악예시와 테스트 케이스 작성몇가지 예시를 만들어 무엇을 넣었을 때 어떤 결과가 나오는지 파악해야합니다문제가 주어지면 그 예상 결과로 어떤게 나올 것이다 라는 것을 테스트 케이스로 작성알고리즘 설계정확도,효율성,Big-O값을 생각하며 의사코드를 1차로 만들어 봅니다이후 이를 토대로 설게를 합니다알고리즘 구현 및 검증설계에서 만든 의사코드나 흐름도에 따라 코드를 작성합니다 제작 후에는 테스트 케이스를 통해 검증을 거칩니다알고리즘 분석과 개선작동이 정상적이면 성능 분석을 통해 최적화, 개선을 합니다 ..
그래프 데이터의 구조는 단순 선형만 있는게 아니라 그물같은 비선형 구조도 존재합니다그래프는 데이터들이 자유롭게 연결가능하고, 자료간에 방향이 있을수도 있습니다정점과간선의 집합으로 구성되어 데이터를 표현하는 비선형 자료구조 입니다소셜네트워크, 네비게이션 길찾기 등에 사용됩니다 그래프의 기본 용어 용어 (Terminology)설명정점 (Vertex)노드(Node)라고도 불리며, 데이터가 저장되는 기본 원소입니다.간선 (Edge)정점들을 연결하는 선이며, 정점 간의 관계를 나타냅니다.인접 정점 (Adjacent Vertex)하나의 간선으로 직접 연결된 정점입니다.차수 (Degree)무방향 그래프에서 하나의 정점에 연결된 간선의 수입니다.경로 (Path)한 정점에서 다른 정점으로 이동하는 간선들의 순서입니다.사..
해시 테이블 해시 테이블은 데이터를 키와 값의 쌍으로 저장하고 관리하는 구조입니다. 키값을 통해 빠르게 값에 접근이 가능합니다해시 - 데이터를 빠르게 찾기위해, 특정 규칙에 따라 숫자(위치)를 반환하는 것해시를 통해 주소를 보고 원하는 값을 한번에 찾기 가능Key, Value가 한쌍으로 저장된다키값을 해쉬함수를 이용해 특정 숫자가 나오면 그것을 주소값 또는 인덱스로 사용해 값을 기억시킴해쉬충돌 - 키값이 함수로 변환 되었을 때 같은 수가 나와서 충돌이 발생하는 것충돌 해결법 - 체이닝 : 같은 칸에 여러개를 리스트같은 자료구조로 묶어버린다, 개방주소법 : 충돌난 칸 바로 옆 빈칸에 찾아서 넣는 방식 해시 테이블은 오브젝트형이라 잘 안쓰임! 딕셔너리 작동 방식은 해시테이블과 거의 같음다만 해시테이블은 오..
스택 ( Stack) - 후입선출 스택은 접시쌓기와 같습니다 꺼낼 때 가장 나중에 쌓은 제일 윗접시를 꺼내는 후입선출 구조입니다데이터를 순서대로 저장하고 관리하는 선형 자료구조이다FILO, LIFO - first in last out, last in first out웹브라우저 뒤로가기, 턴제게임 턴 무르기, 상점 되팔기, 트레이서 시간역행, Ctrl + Z 등이 있습니다 주요 메서드 메서드설명Push(T item)스택의 맨 위에 항목을 추가합니다. (데이터 삽입)Pop()스택의 맨 위에 있는 항목을 제거하고 반환합니다. (데이터 제거 및 반환)Peek()스택의 맨 위에 있는 항목을 제거하지 않고 반환합니다. (데이터 확인)Clear()스택에서 모든 항목을 제거합니다.Contains(T item)스택에..