본문 바로가기

코딩41

MySQL 다운로드/설치 1. mysql 사이트에서 파일 다운로드 http://dev.mysql.com/downloads/mysql/ 에 접속합니다. MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86 dev.mysql.com 접속하면 아래와 같은 창이 뜨는데.. 2023. 2. 14.
[정렬] 병합정렬, 퀵정렬 1. 병합정렬 자료구조를 분할하고 각각의 분할된 자료구조를 정렬한 후 다시 병합하여 정렬한다. 앞서 말한 버블 정렬, 삽입정렬, 선택정렬에 비해 속도가 빠르다는 장점이 있음. 분할 단계 1단계 : 8, 1, 4, 3, 2, 5, 10, 6 2단계 : 8, 1, 4, 3 2, 5, 10, 6 3단계 : 8, 1 4, 3 2, 5 10, 6 4단계 : 8 1 4 3 2 5 10 6 병합 단계 1단계 : 8 1 4 3 2 5 10 6 그냥 병합하는 것이 아닌 각 숫자의 크고 작음을 비교해서 병합한다. 2단계 : 1, 8 3, 4 2, 5 6, 10 3단계 : 1, 3, 4, 8 2, 5, 6, 10 4단계 : 1, 2, 3, 4, 5, 6, 8, 10 반복수행하는 부분이 있기 때문에 재귀함수를 쓴다. def .. 2023. 2. 9.
재귀 알고리즘, 하노이의 탑 1. 재귀 알고리즘 나 자신을 다시 호출하는 것을 재귀라고 한다. 반복문을 사용할 수 있지만 재귀함수를 사용하는 방법이 더 간결하다. *를 사용해 tree를 만드는 코드를 재귀 함수를 통해 만들면 아래와 같다. def recusion(num): if num>0: print('*'*num) return recusion(num-1) else: return 1 recusion(10) 2. 재귀 알고리즘을 이용한 최대 공약수 계산 유클리드 호제법을 사용해 계산할 수 있다. 더보기 유클리드 호제법 두 자연수 n1, n2에 대하여 (n1 > n2) n1를 n2로 나눈 나머지를 r이라고 할 때, n1과 n2의 최대공약수는 n2와 r의 최대공약수와 같다 42와 24의 최대공약수의 경우 n1=42를 n2=24로 나눈 나.. 2023. 2. 9.
[비교] 최빈값, 근삿값, 평균 알고리즘 1. 최빈값 데이터에서 빈도수가 가장 많은 데이터를 최빈값이라고 한다 nums = [1, 3, 7, 6, 7, 7, 7, 12, 12, 17] 0부터 17까지 0으로 이루어진 indexes라는 리스트를 만들고 nums를 돌면서 해당 숫자의 index에 +1을 해준다 indexes: [0, 1, 0, 1, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1] indexes에서 최댓값 알고리즘을 통해 최댓값의 index를 뽑는다 해당 index가 nums 리스트의 최빈값이다 class MaxAlgorithm: def __init__(self, ns): self.nums = ns self.maxNum = 0 self.maxNumIdx = 0 #최빈값을 구해야하므로 가장 큰 숫자와 그의 I.. 2023. 2. 8.
728x90