본문 바로가기

코딩41

[정렬] 버블정렬 알고리즘 처음부터 끝까지 인접하는 인덱스의 값을 순차적으로 비교하면서 큰 숫자를 가장 끝으로 옮기는 알고리즘 nums = [10, 2, 7, 21, 0] print(f'not sorted nums : {nums}') length = len(nums)-1 for i in range(length): # 맨 뒤에서 두번째자리 까지만 잡고 비교하므로 for j in range(length-i): if (nums[j] > nums[j+1]): # 둘이 자리바꿈 temp = nums[j] nums[j] = nums[j+1] nums[j+1] = temp # 파이썬에서는 이런 방법도 가능하다 # nums[j], nums[j+1] = nums[j+1], nums[j] print(nums) print(i,'번째 끝') print.. 2023. 1. 27.
[순위] 순위 알고리즘 순위 : 수의 크고 작음을 이용해서 수의 순서를 정하는 것 import random nums = random.sample(range(50, 101), 20) ranks = [0 for i in range(20)] print(f'nums : {nums}') print(f'ranks : {ranks}') for idx, num1 in enumerate(nums): for num2 in nums: if num1 < num2: ranks[idx] += 1 print(f'nums : {nums}') print(f'ranks : {ranks}') for idx, num in enumerate(nums): print(f'num: {num}\t rank: {ranks[idx]}') 2023. 1. 26.
[검색] 이진검색 알고리즘 1. 이진검색 정렬되어 있는 자료구조에서 중앙값과의 크고 작음을 이용해서 데이터를 검색한다. (이진검색에서 주의할 점은 데이터가 꼭 정렬되어있어야 한다.) [0] [1] [2] [3] [4] [5] [6] [7] [8] 1 2 3 4 5 6 7 8 9 중앙값이 [4]므로 검색대상과 '5'를 비교한다. 검색대상이 '2'인 경우, 2 2023. 1. 20.
[검색] 선형검색 알고리즘 1. 선형검색 선형으로 나열되어 있는 데이터를 순차적으로 스캔하면서 원하는 값을 찾는다. [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 3 2 5 7 9 1 0 8 6 4 데이터가 위와 같은 경우 인덱스 0부터 9까지 순차적으로 검색한다. 검색 성공 : 원하는 데이터가 9인 경우 [0] [1] [2] [3] [4]를 훑고 찾는다 검색 실패 : 원하는 데이터가 없는 경우 datas = [3,2,5,7,9,1,0,8,6,4] print(f'datas : {datas}') print(f'datas length : {len(datas)}') searchData = int(input('찾으려는 숫자 입력')) searchResultIdx = -1 n = 0 while True: if n .. 2023. 1. 19.
728x90