Data Structures and Algorithms (2)
1928 단어 data structuresdata structures
Data Structure and Algorithms (2)
1. 배열 (Array)
- 장점 : 인덱스를 통한 접근이 용이하다.
- 단점 :
1) 미리 최대길이를 지정해야한다.
2) 데이터의 추가 및 삭제가 어렵다.
파이썬에서의 배열은 list임!
range를 이용하여 특정 글자를 count하는 함수
dataset = ['James', 'Anthony', 'John', 'Oliver'] counter = 0 for data in dataset: for index in range(len(data)): if data[index] = 'M': counnter += 1
2. 큐 (Queue)
- FIFO (First In First Out) 이 기본
- 사용: 멀티테스킹을 위해 프로세스 스케줄링 방식을 구현하기 위해 사용됨. (운영체제 안에서)
1) Queue
import queue ㅤ q = queue.Queue() q.put("anthony") q.put(20) q.get() q.size
2) priority Queue
import Queue ㅤ pq = queue.PriorityQueue() pq.put(10, "Korea") pq.put(15, "China") pq.put(3, 1) pq.get() = (3,1)
3) list를 사용한 Queue 함수
def enqueue(data) queue_list.append(data) ㅤ def dequeue() data = queue_list[0] del queue_list[0] return data
3. 스택 (Stack)
- LIFO (Last In First Out) 이 기본
- 사용: 컴퓨터 내부 프로세스 구조의 함수 동작방식에 사용 (재귀함수와 유사)
- 장점
1) 구조가 단순해서 구현이 쉽다.
2) 데이터 저장 및 읽기가 빠르다. - 단점
1) 데이터 최대개수를 미리 설정해야한다.
2) 저장공간의 낭비가 발생할 수 있다
1) Stack (list)
data_stack = list() ㅤ data_stack.append(1) data_stack.append(2) ㅤ data_stack.pop() = 2
2) list를 활용한 Stack 함수
stack_list = list() ㅤ def push(data): stack_list.append(data) ㅤ def pop(): data = stack_list[-1] del stack_list[-1] return data
본 게시글은 fastcampus 이준희강사 수업을 듣고 개인적으로 정리한 내용임을 밝힘.
Author And Source
이 문제에 관하여(Data Structures and Algorithms (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@anthony16/자료구조-및-알고리즘-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)