일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 데이터베이스
- 운영체제
- 판다스
- 디버깅
- 데이터분석
- 기초
- matplotlib
- 코랩
- 원격저장소
- 엑셀
- 아나콘다
- 에러
- vscode
- 우분투
- 가상환경
- 라이브러리
- MySQL
- visual studio code
- 플라스크
- 리눅스
- 파이썬
- 역할
- 프로그래머스
- 단축키
- 디렉토리
- 깃허브
- 예제
- OpenCV
- 머신러닝
- SQL
Archives
- Today
- Total
취미와 밥줄사이
[ 자료구조 ] 배열(Array)이란? 본문
배열(Array)이란?
- 배열은 메모리 상에 데이터(원소)를 연속하게 배치한 자료구조
- 배열은 같은 타입의 데이터를 여러개 나열한 선형 자료구조
- 연속적인 메모리 공간에 순차적으로 데이터를 저장
- 배열은 선언할 때 크기를 정하면, 그 크기로 고정이 된다.
- 선언된 값은 다시 배열을 선언하지 않으면 변경할 수 없다.
- 배열의 주소를 살펴보면, 한 칸마다 배열의 자료형의 크기를 가지고 있따.
- 배열의 자료형이 int라면, 배열 한 칸의 크기는 int(4byte)가 되는 것이다.
- 배열은 인덱스를 통해서 배열에 있는 요소에 접근할 수 있다.
배열의 특징
- 추가적으로 소모되는 메모리 양(=overhead)가 거의 없다
- Cache hit rate가 높다.
- cache hit ratio: 적중률 = (캐시히트 횟수)/(전체 참조횟수)
- cache hit: 참조하려는 데이터가 캐시에 존재할 떄 캐시 히트
- cache miss: 참조하려는 데이터가 캐시에 존재하지 않을 때 캐시미스
- 배열을 생성하려면 메모리 상에 연속된 구간을 할당해야 해서 할당에 제약이 걸릴 수 있음
배열을 사용해야하는 상황
- 데이터 개수가 확실하게 정해져 있을 때 데이터 저장을 위한 자료구조로 선택하면 좋음
- 삽입/삭제 작업이 적을 때 사용하면 좋음
- 배열에 저장된 데이터를 검색하는 작업이 많을 때( 인덱스로 빠르게 검색 가능)
REFERENCE
https://choheeis.github.io/newblog//articles/2020-12/data-structure-array
https://opentutorials.org/module/1335/8677
https://progdigest.blogspot.com/2017/07/cache-hit-ratio.html
http://dblab.duksung.ac.kr/ds/pdf/Chap03.pdf
https://velog.io/@hanif/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EB%B0%B0%EC%97%B4
'Python > 자료구조' 카테고리의 다른 글
[ 자료구조 ] 트리(Tree)란? (0) | 2022.03.05 |
---|