선형 배열 (Linear Arrays) & 정렬(Sort), 탐색(Search)
1. 기본
L1 = list()
L2 = []
# 빠른거
L1.append(value) #리스트 끝에 value(이하 'v') 추가
L1.pop() #리스트 끝의 v 뽑기
# 느린거
L1.insert(index, v) #리스트의 해당하는 index(이하 'i')에 v 추가, 뒷 v들의 i += 1.
L1.del(i) #리스트의 해당하는 i의 v 삭제, 뒷 v들의 i -= 1.
# 추가 다른 연산(?)
L1.index(v) #리스트에서 해당 v의 i를 반환
2. 정렬
L1 = [3, 2, 1]
L1.sort() #L1을 [1, 2, 3]으로 정렬
L2 = sorted(L1) #L1을 정렬한 L2라는 새로운 리스트(new list)를 생성.
L1 = sorted(L1) #도 된다.
3. 탐색
선형 탐색(linear search) | 순차 탐색(sequential search) : 순서대로 탐색(처음부터 끝까지)
이진 탐색(binary search) : 이미 정렬된 리스트의 가운데 값으로 논리연산하여 반을 버리고, 남은 반의 가운데 값으로... 반복 (logN번 반복?)
L = list()
# 선형 탐색
if x in L:
return L.index(x)
else:
raise KeyError
# 이진 탐색
lower = 0
upper = len(L)-1
while lower <= upper:
mid = (lower+upper)//2
if L[mid] == x:
return mid
elif L[mid] > x:
upper = mid-1
elif L[mid] < x:
lower = mid+1
return KeyError
한줄평
이때까진 쉬웠다.
Author And Source
이 문제에 관하여(선형 배열 (Linear Arrays) & 정렬(Sort), 탐색(Search)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hughqlee/선형-배열-Linear-Arrays-정렬Sort-탐색Search저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)