728x90
반응형
ArrayList LinkedList ArrayList 와 LinkedList 기본적인 자료구조인 ArrayList와 LinkedList의 각 특성과 작업에 대한 시간복잡도 등을 비교하며 정리해보았다. ArrayList 항목들이 순서대로 나열되어 있고, 각 항목들은 위치(인덱스)를 갖는다. 해당 인덱스에 값이 위치하기 때문에, 데이터 탐색 시 인덱스를 통해 바로 접근할 수 있다. => 시간복잡도 O(1) 파이썬의 리스트는 ArrayList로 구현되어 있다. 따라서 큰 프로젝트나 손해를 볼 수 있는 경우에 파이썬의 리스트를 쓰면 안 좋을 수 있다. 배우 비효율적이고 엄청 느리기 때문이다. 파이썬에서 Linked List가 필요하면 'deque'를 사용하면 된다. from collections import ..
스택(Stack)과 큐(Queue) 프로그램을 개발할 때 가장 많이 사용하는 자료 구조: 스택 & 큐 1. 스택(Stack) : 상자를 쌓듯이 자료를 관리하는 방식. 책을 하나씩 쌓으면 가장 위에 있는 것을 먼저 꺼내야 하는 것과 같은 방식이다. - 맨 나중에 추가된 데이터를 먼저 꺼내는 방식(Last In First Out: LIFO) - 먼저 추가된 데이터일수록 마지막에 꺼낼 수 있음 - push(): 스택에 자료 추가 - pop(): 스택에 있는 자료 꺼내기. 가장 최근에 추가된 자료(top에 있는 것)을 꺼냄. 2. 큐(Queue) : 일상 생활에서 가장 많이 사용하는 방식의 자료구조. ‘선착순’ 스택은 한쪽이 막혀 있는 구조라면, 큐는 양쪽 모두 뚫려 있어서 들어온 순서대로 나갈 수 있는 구조이..