본문 바로가기

STUDY/자료구조

(4)
#4 큐(Queue) 큐 구조 - 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 데이터 구조 (First-In, First-Out : FIFO 방식) - 스택과 꺼내는 순서가 반대임 알아둘 용어 - Enqueue : 큐에 데이터를 넣는 기능 - Dequeue : 큐에서 데이터를 꺼내는 기능 파이썬 queue 라이브러리 활용하기 - 다양한 큐 구조로 제공 Queue() : 가장 일반적인 큐 자료 구조 LifeQueue() : 나중에 입력된 데이터가 먼저 출력되는 구조(스택 구조) PriorityQueue() 제공 : 데이터마다 우선순위를 넣을 수 있고 우선순위가 높은 순으로 데이터 출력
#3 스택(Stack) 스택 자료구조 스택(Stack)은 데이터가 입력되면 입력되는 순서대로 쌓고, 나중에 들어온 것부터 먼저 사용하는 자료구조이다. LIFO(Last In First Out)형이라고 하며, 스택에 데이터를 넣는 것을 'PUSH' 데이터를 꺼내는 것을 'POP'이라고 한다. 스택 구현은 배열을 이용해도 되고 연결 리스트를 이용해도 된다. 스택 자료구조는 프로그램의 수행 과정에서 함수를 불러 수행하는 경우와 수식의 연산을 수행하는 과정에서 사용한다. *자바로 구현한 스택 package dataStructure; public class Stack { public static void main(String[] args) { java.util.Stack stack = new java.util.Stack(); Syste..
#2 리스트와 연결리스트 자료구조는 다양하지만 실제 자료구조를 구현하는 기술은 리스트와 연결 리스트 두 가지이다. 이 둘을 이용해 다양한 자료구조가 만들어진다. *리스트형 자료구조 연속적인 저장의 형태를 가진다. - 배열 : 크기가 변하지 않는 리스트형 자료구조, 중간의 값을 지워도 빈칸으로 유지한다. 배열의 장점 : 접근이 빠르다 (인덱스) 배열의 단점 : 데이터 추가 삭제가 어렵다. 최대 길이를 지정하면 변경이 어렵다. - 리스트 : 크기가 변하는 자료구조, 중간의 값을 지우면 뒤의 것이 앞으로 이동한다. JAVA에서는 배열과 Set으로 제공한다. *연결 리스트형 자료구조 프로그래머가 자체적으로 구현하여 사용한다. 데이터를 포인터로 연결하여 사용한다. - 연결 리스트 : 저장된 각 데이터가 데이터 + 다음 데이터의 포인터로 ..
#1 자료구조와 알고리즘이란? 자료구조란 ? - 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조 - 데이터 구조, data structure 와 같은 의미 - 어떤 자료구조를 사용하느냐에 따라, 코드 효율이 달라짐 알고리즘이란 ? - 어떤 문제를 풀기 위한 절차/방법 - 특정한 '입력'을 넣으면, 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍 자료구조란 알로리즘을 구현하는 데 사용하는 것으로 리스트와 연결 리스트 두가지가 있다. 이 두가지 물리적 구조를 기반으로 다양한 사용법을 구현한 자료구조가 있다. - 리스트(List) : 각 데이터를 연이어 저장하는 기술 - 연결 리스트(Linked List) : 각 데이터를 임의의 위치에 저장하고 서로를 연결하는 기술 자주 사용하는 자료구조 - 배열, 스택, 큐, 트리/힙, 그래..

반응형