일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준
- 내부망
- 스케쥴링
- Docker Compose
- powershell
- CentOS
- 우선순위 큐
- 이분 탐색
- array
- 힙
- 자료구조
- Cross-origin Resource Sharing
- network
- cron표현식
- queue
- python
- datastructure
- 개념 정리
- 18870
- cron expression
- 좌표 압축
- docker
- cron
- 명령어
- heap
- 시험준비
- 파이썬
- OSI 7 layer
- priority queue
- CORS
Archives
- Today
- Total
고양이와 코딩하기
자료구조 - Array 알아보기 본문
반응형
Array - 배열
각 데이터를 순서대로(인덱스에 대응하도록) 나열한 데이터 구조
장점과 단점
장점
- 같은 종류의 데이터를 효율적으로 관리할 수 있음
- 빠른 접근이 가능
단점
- 데이터의 추가가 어려움 <- 처음 배열을 만들 때 배열의 길이를 정하고, 나중에 바꿀 수 없다
- 데이터의 삭제가 어려움 <- 배열의 중간 부분의 데이터를 지울 때, 뒤의 데이터들의 순서(인덱스)를 하나하나 앞으로 이동시켜서 빈 자리를 채워줘야 한다.
*단 파이썬의 경우 List의 내장함수에 의해 편리하게 추가/삭제가 가능하다!
-> list 길이를 지정할 필요 없음
-> 삭제시 빈자리를 채울 필요 없음
-> 다양한 자료형을 한 리스트에 담을 수 있음
시간 복잡도
- 데이터 추가/삭제: O(n)
- 데이터 탐색: O(1)
Example - 1차원 배열
arr = [1,2,3,4,5]
arr
[1, 2, 3, 4, 5]
Example - 2차원 배열
arr2 = [[1,2,3],[4,5,6],[7,8,9]]
arr2
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
파이썬 팁
import random
# 리스트 안에 for문 사용하기
arr3 = [1 for i in range(10)]
print("arr3:",arr3)
print()
# sort 함수
arr4 = random.sample(range(20),5)
print("arr4_init:",arr4)
arr4.sort(reverse=True)
print("arr4_reversed:",arr4)
print()
# lamda 사용법 (2번째 숫자끼리 비교)
arr5 = [[1,6,6],[2,2,9],[3,4,3]]
arr5 = sorted(arr5, key=lambda x : x[1])
print("arr5:",arr5)
arr3: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
arr4_init: [13, 12, 14, 10, 17]
arr4_reversed: [17, 14, 13, 12, 10]
arr5: [[2, 2, 9], [3, 4, 3], [1, 6, 6]]
참고 자료
반응형
'D E V E L O P E R 💻 > Today I Learned' 카테고리의 다른 글
[정보처리기사] 실기 준비 오답노트 (1) (0) | 2025.03.06 |
---|---|
(CORS) Cross-Origin Resource Sharing (0) | 2024.08.21 |
알고리즘 - 우선순위 큐, 힙 (0) | 2023.01.26 |
자료구조 - Stack 알아보기 (0) | 2021.11.20 |
자료구조 - Queue 알아보기 (0) | 2021.11.03 |
Comments