일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- useState
- 파이썬
- 비동기
- 프로그래머스
- algorithm
- 자료구조
- python algorithm
- 코드스테이츠
- Zerobase
- 알고리즘
- 자바스크립트
- JavaScript
- Computer Science
- 자바
- 컴퓨터공학
- node.js
- 운영체제
- java
- Python
- context switching
- 파이썬 알고리즘 인터뷰
- REACT
- react 기초
- typeScript
- 개발공부
- execution context
- OS
- Operating System
- 글또
- codestates
- Today
- Total
목록파이썬 자료구조 (2)
Back to the Basics
삭제 연산 동작 길이가 5인 리스트에서 index 1에 있는 요소를 지우고 싶은 경우 인덱스 1 뒤에 있는 데이터를 모두 한 칸씩 앞으로 밀어서 저장한다. 인덱스 1에 인덱스 2에 있는 요소를 저장한다 인덱스 2에 인덱스 3에 있는 요소를 저장한다 인덱스 3에 인덱스 4에 있는 요소를 저장한다 동적 배열에서 접근할 수 있는 인덱스 범위도 1을 줄여준다동적 배열은 배열의 크기와 개발자가 사용하는 인덱스들의 범위를 따로 관리한다. 삭제 연산 시간 복잡도 삭제 연산도 아무 위치에 있는 데이터를 삭제할 때와 맨 뒤 데이터를 삭제할 때, 두 경우도 나눠서 생각할 수 있다. 최악의 경우 : 맨 앞의 데이터를 지울 때 삭제 연산은 최악의 경우 삭제할 데이터가 맨 앞에 있는 경우이다. 인덱스 1부터 끝까지 모든 요소들..
정적 배열 : 배열의 길이가 정해져서 변하지 않는 배열 동적 배열 (dynamic array) : 배열의 길이가 동적으로 변하는 배열: 배열이 꽉 찼을 때 다른 메모리 공간에 기존 배열 크기의 두 배의 공간을 할당하고, 기존 배열을 복사하는 형식으로 내부적으로 공간을 늘린다 동적 배열은 내부적으로는 정적 배열을 기반으로 한 자료구조라고 한다. 그림출처 추가 연산 (append operation) 시간 복잡도 append는 아래의 그림과 같이 배열의 끝에 요소를 추가해주는 연산이다. 그림출처 동적 배열에 값을 추가할 때 시간 복잡도를 알아보자 경우 1 : 정적 배열 남는 공간 있을 때 단순히 index를 이용하여 접근하므로 O(1)이다. 겨우 2: 정적 배열이 꽉 찼을 때 값을 추가하기 위해 현재 사용 중..