셋 SET
·
Algorithm/알고리즘 스터디
셋 SET데이터를 저장하는 추상자료형 (ADT)순서를 보장하지 않음데이터 중복을 허용하지 않음데이터 조회(search)가 List보다 빠름명령 (밑에서 아래로)판단결과add(10)성공10add(20)성공10  20add(30)성공10  20  30add(10)무시 : 이미 10이 존재하기 때문에 중복 X10  20  30contains(40)false : 40이 없기 때문에10  20  30contains(10)true :  10이 있기 때문에10  20  30remove(10)성공20  30셋은 언제 사용할까?1. 중복된 데이터를 제거해야할 때ex) 스타트업 하면 떠오르는 단어를 여러 사람들에게 물어봤을 때 중복된 단어가 나올 수 있다. 2. 데이터의 존재 여부를 확인해야 할 때용인시에서 '청년 전세자..
시간 복잡도
·
Algorithm/알고리즘 스터디
시간 복잡도 유형빅 오메가 : 최선일 때 (Best case)의 연산 횟수를 나타내는 표기법 : 1번빅 세타 : 보통일 때 (Average case)의 연산 횟수를 나타내는 표기법 : N/2번빅 오 : 최악일 때 (Worst case)의 연산 횟수를 나타내는 표기법 : N번* N은 데이터의 갯수를 의미한다. 시간 복잡도 예시import randomfindNumber = random.randrange(1, 101) # 1~100 사이의 랜덤 값 생성for i in range(1, 101): if i == findNumber: print(i) break 위 코드에서- 랜덤 넘버가 1이라면 가장 빠른 시간 내에 넘버를 찾은 것이기 때문에 빅 오메가를 표기한다.- 랜덤 넘버 1~100 사이의..