자료구조
-
링크드 리스트(Linked List)_1자료구조 2019. 11. 28. 16:38
구조 연결 리스트라고도 한다. 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조이다. 링크드 리스트는 떨어진 곳에 존재하는 데이터를 연결해서 관리하는 데이터 구조이다. 본래 C언어에서는 주요한 데이터 구조이지만 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원한다. 기본 구조와 용어 노드(Node): 데이터 저장 단위(데이터값, 포인터)로 구성 포인터(Pointer): 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 간단한 링크드 리스트의 예시 Node 구현 보통 파이썬에서 링크드 리스트 구현시 파이썬 클래스를 활용한다. 파이썬 객체지향 문법에 대한 이해 필요! www.fun-coding.org 구현 class Node: def __init__(self, dat..
-
큐(Queue)와 스택(Stack)자료구조 2019. 11. 20. 14:03
큐(Queue) 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(First In First Out) 큐 = 한 줄 서기 먼저 들어온게 먼저 나간다. 알아둘 용어 Enqueue: 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 파이썬 라이브러리 queue Queue() : 가장 일반적인 큐 자료 구조 LifoQueue() : 나중에 입력된 데이터가 먼저 출력되는 구조(스택 구조라고 보면 됨) PriorityQueue() : 데이터마다 우선순위를 넣어서 우선순위가 높은 순으로 데이터 출력 Queue() import queue data_queue = queue.Queue()# 일반적인 큐 data_queue.put('data')# Enqueue data_queue.put(..