728x90

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

정렬

정렬이란? 데이터를 순서대로 나열하는 방법을 의미합니다. ex) 큰수 -> 작은수, 작은수 -> 큰수 Bubble-Sort (버블) 특징 Sort를 이해 하기 매우 쉽다. 성능이 좋지 않다. 바로 옆 인자 와 비교 코드 int size = arr.length; for(int i = 1; i arr [j + 1]) { swap(arr, j, j + 1); // 구현 필요 } } }​ 시간 복잡도 : O(N^2) GIt :https://github.com/Raconer/JavaCode/blob/master/src/test/java/com/java/dataStructure/sort/Bubble.ja..

Data Structure 2023.04.15

성능 분석

성능 분석 문제에 대한 여러 가지 해결 방법 중 가장 효율적이고 사용 환경에 최적인 알고리즘을 결정하는 방법 알고리즘 분석 기준 정확성 올바른 입력이 들어왔을 때 정해진 시간 내에 올바른 결과를 출력하느냐 명확성 알고리즘이 얼마나 이해하기 쉬고 명확하게 작성되었는가를 판단 수행량 알고리즘의 특성을 나타내는 중요 연산들을 분석 최적성 시스템의 사용 환경에 따라 수행량과 메모리 사용량이 달라지기 때문에 환경에 최적화되어 있는가를 판단 알고리즘 분석 방법 공간 복잡도 고정 공간 + 가변 공간 실행하고 완료하는데 필요한 저장 공간 의미 고정 공간 + 가변 공간 고정 공간 : 프로그램의 크기나 입출력의 횟수에 상관없이 고정적으로 필요한 저장공간 (ex. 변수, 상수) 가변 공간 : 실행 과정에서 사용하는 데이터와..

Data Structure 2023.04.15

자료 구조란?

자료 구조란? 다양한 자료를 효율적으로 표현하고 저장하고 처리하여 사용할 수 있도록 하는 것 컴퓨터 분야의 자료구조 논리적인 구조와 프로그램적인 처리방법을 구현하는 것 자료구조 분류 단순구조 정수, 실수, 문자, 문자열 선형구조 : 자료의 앞뒤 관계가 1:1로 고정되어 있는 구조 List 리스트 : 순차 리스트로서 자료의 논리적인 순서와 기억 장소에 저장되는 물리적 순서가 일치하는 구조 Linked List 연결리스트 : 물리적 순서에 상관없이 저장 주소를 사용하여 논리적인 순서를 갖는다. 단순 연결 리스트 이중 연결 리스트 Stack 스택, Queue 큐, Deque 덱 : 자료의 삽입, 삭제 위치에 대한 제한 조건을 가진 선형 구조이다. 비 선형구조 : 자료 간에 선형 구조가 아닌 Hierarchic..

Data Structure 2023.04.15
728x90