본문 바로가기

분류 전체보기226

정렬 알고리즘(sort) 버블 정렬 알고리즘(Bubble Sort) 서로 인접한 두 원소를 검사하여 순서에 맞지 않는 경우 위치를 바꾼다. 시간복잡도 : O(n^2) | 5 | 4 | 6 | 1 | 3 | 2 | 위의 숫자로 이루어져 있을때 1회전 시 5 4 비교하여 작은숫자를 왼쪽 큰 숫자를 오른쪽으로 | 4 | 5 | 6 | 1 | 3 | 2 | 5 6 비교 시 아무일도 일어나지 않음. 6 1 비교 시 | 4 | 5 | 1 | 6 | 3 | 2 | 6 3 비교 시 | 4 | 5 | 1 | 3 | 6 | 2 | 6 2 비교 시 | 4 | 5 | 1 | 3 | 2 | [6] | 4 5 1 3 2 [6] 마지막 6은 이제 고정 큰수를 계속 뒤로 미뤄내기때문에 가장 마지막값은 최대값이 되고 2회전때는 마지막값은 비교할 필요 없으니 .. 2022. 1. 5.
[Python] 객체복사,shallow copy,deep copy a라는 변수가 있을때 b라는 변수에 a에있는 내용을 복사해두고 b를 변경해서 쓰다가 원본 a와 비교하고 싶었다... 그래서 b =a 담고 했지만 b를 변경했더니 a도 같이 변경해버리는 문제가 발생했다! 문제의 원인과 해결방법은 아래에서 1. 객체 복사 위에서 말했던 케이스이다. b = a라는 변수를 담았기에 a가 바라보는 객체를 b도 동일하게 바라본다. 그러므로 둘중에 하나를 변환시켜도 동일하게 변환된다. a = [1,2,3,[4,5,6]] b= a # 객체 복제 print(b) # [1,2,3,[4,5,6]] b[1] = 100 # b의 1번자리를 3으로 변경 print(b) # [1, 100, 3, [4, 5, 6]] print(a) # [1, 100, 3, [4, 5, 6]] b[3].append(.. 2022. 1. 5.