본문 바로가기
Python

[Python] 자료구조 Tuple,Array

by UnoCode 2020. 7. 6.

Array & Tuple

 

✔️데이터 구조는 무었인지.왜 배우는지를 이해한다.

 

자료를 구분 하고 저장하는데 가장 효율적으로 저장 및 실행 하기 위해 자료구조를 사용합니다.

 

✔️ Data Structure의 개념 필요성, 그리고 다양한 종류의 자료구조에 대해 이해한다.

 

개념 

 

Data Structure의 필요성은 무엇일까요.

 

저는 대형 슈퍼에서 물건을 사고 차에 싦을때 항상 박스에 담습니다.

 

어떤 분은 봉지에 막 넣으시더라구요..

 

물건의 양의 적거나 트렁크에 자리가 없으면 봉지에 넣어서 사용해도 상관이 없지만.

 

자리를 효율적으로 쓰기위해 보통 산 물건을 상자에 넣어서 사용합니다.

 

상자, 봉지 이러한 개념이 자료구조 입니다.

 

분류

 

https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F23493B3356E9549111

 

  • Primitive Data Structure(단순 구조) : 프로그래밍에서 사용되는 기본 데이터 타입
  • None-Primitive Data Structure(비단순 구조) : 단순한 데이터를 저장하는 구조가 아니라 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료 구조
  • Linear Data Structure(선형 구조) : 저장되는 자료의 전후 관계가 1:1 (ex. List, Stacks, Queues)
  • Non-Linear Data Structure(비선형 구조) : 데이터 항목 사이의 관계가 1:n 또는 n:m (ex. Graphs, Trees )

 

✔️ Array의 개념과 장점, 단점, 그리고 언제 사용하면 좋은지 이해한다.

 

Array 특:

1. 값을 순차적으로 저장한다..

 

2. Array는 index를 가지고 있다

 

왜 Array가 순차적으로 데이터를 저장할 까요?

실제 메모리 상에서, 즉 물리적으로 뎅터가 순차적으로 저장 되기 때문에 가장 단순한 자료구조 입니다.

 

Array 단:

자주 삭제 되거나 추가되는 데이터를 담기에는 적절치 않다.

 

삽입시 문제점

 

https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS7393457320

삽입할려니 자리 이동이 후덜덜 하네요.

 

 

삭제시 문제점

https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS7393457320

 

아하! 삭제가 되는 경우 한칸식 미뤄야하는데 ... 고생좀 하겠군요..

 

이러한 개념들이 Array Resizing이라는 개념입니다 

 

회사에서 구조조정 들어가면 머리아픈거랑 비슷합니다.ㅋㅋㅋ

 

언제 사용하면 좋을까요??

 

1.순차적인 데이터를 저장할떄

 

2. 데이터가 자주 삭제되거나 추가되지 않을때

 

ex) 날씨 정보를 담으면 좋을거 같군요..

 

기상청은 어제 오늘 내일의 날씨를 다 가지고 있어야 예측을 하니 지울일이 없습니다 ㅋㅋ

 

✔️ Tuple의 개념과 장점, 단점, 그리고 언제 사용하면 좋은지 이해한다.

 

Tuple : 특

 

1.Array오 마찬가지로 데이터를 순차적으로 저장할 수 잇는 구조

 

2. 한번 정의되면 수정 할 수 없음.

 

3. 소규모 데이터 or Return 값으로 많이 사용

 

4. 자바스크립트에는 없다? (자바 스크립트에는 듀플의 왜 필요하지 몰라사 안넣었다고 한다)

 

Tuple : 장

 

1. 가볍다.

 

Array보다 좋은 장점은 이거 밖에 없습니다.

 

Array는 인덱스값조정 때문에 이러 저러한 함수가 많아요.. python경우 append,index,del 등등 아주 많아요.

 

하지만 Tuple은 Array보다 지원하는 함수가 적은걸 알 수 있습니다. 그렇기 떄문에 메모리를 적게 먹습니다.

 

Tuple : 단

Tuple의 단점은 데이터가 무슨 의미인지 명확하지 않다는 것입니다.(Array도 그럼) : 딕셔너리 자료형을 보면

Key:value형태로 되어있어 데이터가 어떠한 형태인지 대충 짐작이 가능 하지만

 

"충치개수":0,"양치":True,"메지시":"뭐바" .....      -> 딕셔너리 구조

(0,True,"뭘바","나 듀플" , 0 , 1)          ........> 듀플 구조

 

언제 Tuple을 사용하면 좋으까요?

 

Array쓰기에는 간단한 데이터를을 표현할 때 사용합니다.^^

 

'Python' 카테고리의 다른 글

[Python] Bcrypt and Jwt  (0) 2020.07.14
[Python] 자료구조 Set, Dictionary  (0) 2020.07.13
[Python] 크롤링-starbucks 음류수 종류 - csv  (0) 2020.07.03
[Python] 크롤링-billboard 차트 - csv  (0) 2020.07.02
[Python] asyncio  (0) 2020.07.02

댓글