Data Structure 5

큐(Stack)/스택(Queue)[1]

자료를 구조화하는 가장 기본적인 방법은 자료를 순서대로 나열하여 리스트를 구성하는 것이다. "자료를 나열하는 방법을 제한하는 몇 가지 규칙을 추가"하여 리스트를 응용한 자료구조를 만들 수 있다. 0. 구현 순차 자료구조 방식을 1차원 배열 Stack [n]을 사용 연결 자료구조 방식 LinkedList 사용 1. 스택 (Stack) 스택(Stack)이란 쌓아 올린다는 의미다. 따라서 스택 자료구조라는 것은 접시를 쌓듯이 자료를 차곡차곡 쌓아 올린 형태의 구조를 말한다. 후입 선출(LIFO) : Last In First Out의 구조를 가진다. 스택(Stack)에서는 6개의 연산 작업을 가지고 있다. createStack() : 공백의 스택(Stack)을 생성하는 연산 isEmpty(S) : 스택(Stac..

Data Structure 2023.04.15

Hash Tables

Hash Tables 란? Hash Tables는 Key, Value System을 이용하여 자료를 정리 하는 기법 Ex) 사전, Object(JavaScript), Dictionary(Python), Map(Go) 시간 복잡도 비교 Array O(N) 아이템이 많을 수록 찾는 시간이 오래걸린다. Hash Table O(1) 찾는 Key 가 바로 Hash Table에서 사용되는 배열의 Index이므로 바로 데이터를 가져 올수있다. 원리 Hash Table 에는 Array 를 사용한다. 하지만 기존의 Array와 다르게 Hash Function을 사용하여 데이터를 관리 하게 된다. Hash function을 사용하여 Key를 숫자로 변환 하고 이 숫자를 Index로 사용한다. 그래서 기존의 Array와 다..

Data Structure 2023.04.15

정렬

데이터를 순서대로 나열하는 방법입니다.예시: 큰 수 → 작은 수 (내림차순), 작은 수 → 큰 수 (오름차순)🔸 Bubble Sort (버블 정렬)✅ 특징Sort를 이해하기 매우 쉽다.성능이 좋지 않다.바로 옆 인자와 비교✅ 코드 (Java)int size = arr.length;for(int i = 1; i arr[j + 1]) { swap(arr, j, j + 1); // 구현 필요 } }}✅ 시간 복잡도O(N^2)🔗 참고 링크GitHub: https://github.com/Raconer/JavaCode/blob/master/src/test/java/com/java/dataStructure/sort/Bubble.java YouTube: https://youtu.be/lyZQPj..

Data Structure 2023.04.15

성능 분석

1. 🔍 성능 분석이란?문제를 해결하는 여러 알고리즘 중 가장 효율적이고 최적화된 방법을 선택하기 위한 분석2. 📌 알고리즘 분석 기준기준설명정확성올바른 입력에 대해 정해진 시간 내에 정확한 출력을 생성하는가명확성이해하기 쉽고, 명확하게 작성되어 있는가수행량알고리즘의 핵심 연산량을 기반으로 분석최적성시스템 환경에 따라 메모리, 수행 시간 등 자원이 최적화되어 있는가3. 🧠 알고리즘 분석 방법📦 공간 복잡도 (Space Complexity)고정 공간: 프로그램 크기나 입력 크기와 무관 (ex. 변수, 상수)가변 공간: 입력 크기나 실행 과정에 따라 변화(ex. 배열, 스택, 재귀 호출 정보 등)공식:공간 복잡도 = 고정 공간 + 가변 공간⏱ 시간 복잡도 (Time Complexity)컴파일 시간 +..

Data Structure 2023.04.15

자료구조와 소프트웨어 생명주기

1. 📚 자료구조란?다양한 자료를 효율적으로 표현, 저장, 처리할 수 있도록 구성하는 방법컴퓨터에서 자료구조는 논리적인 구조와 프로그램적인 처리 방법을 구현하는 것2. 📂 자료구조 분류🔹 단순 구조정수, 실수, 문자, 문자열🔹 선형 구조자료 간의 앞뒤 관계가 1:1로 고정된 구조List (리스트)순차 리스트로 논리적 순서와 물리적 순서가 일치Linked List (연결 리스트)물리적 순서와 무관하게 포인터로 논리적 순서를 구성 단순 연결 리스트 이중 연결 리스트Stack / Queue / Deque삽입, 삭제에 제한이 있는 선형 자료구조🔹 비선형 구조계층 구조(Hierarchical) 또는 망 구조(Network)트리(Tree) 일반 트리 이진 트리그래프(Graph) 방향 그래프 무방..

Data Structure 2023.04.15