자료구조(2)
-
Array & Linked List
Linked List의 장단점 (Array와 비교) 장점1) 동적으로 사이즈 조절이 가능함. 장점2) 삽입 및 삭제 시 O(1)의 시간복잡도만 소요됨. Array는 O(N) 단점1) 랜덤 액세스가 불가능함. 순차적으로 데이터를 찾아가는 것만 허용되기 때문에 이진탐색 불가능. 단점2) list의 각 요소별로 포인터를 담을 추가 메모리가 필요함. 단점3) array보다 locality*가 좋지 않기 때문에 caching 성능이 떨어질 수 있음. * 메모리 상의 가장 최근 영역에, 가장 접근하기 가까운 영역에 Data가 저장되어있는지 정도. CPU가 Memory로부터 Data를 가져올때 locality가 좋은 data가 cost가 낮겠지?
2019.10.06 -
2. 리스트, 튜플, 딕셔너리, 셋
1)리스트[]로 생성하며 문자열과 다르게 변경이 가능하다. 동일한 값이 여러번 들어가는 것도 가능하다. weekdays=['Mondays','Tuesday','Wednesday','Thursday','Friday'] list('cat')--> ['c','a','t'] 으로 형변환이 가능하다. weekdays[1]--> 'Tuesday' 처럼 오프셋으로 하나의 특정 값을 추출하는 것도 가능하다. 문자열과 마찬가지로 음수의 인덱스로 거꾸로 값을 추출하는 것도 가능. weekdays[1]='화요일'--> 특정 오프셋의 원소를 바꿀 수 있다. weekdays[2:5:2]문자열과 마찬가지로 슬라이스로 항목을 추출하는 것이 가능하다. 리스트의 멤버함수는 다음과 같다. 기능예시 append()리스트의 끝에 새 항목을..
2016.10.13