파이썬

    [알고리즘] insertionSort 삽입정렬(pseudo-code, 파이썬, Java)

    [알고리즘] insertionSort 삽입정렬(pseudo-code, 파이썬, Java)

    삽입정렬 삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 정렬 방법이다. 현재 타겟이 되는 숫자와 이전 위치에 있는 원소들을 비교한다. (첫 번째 타겟은 두 번째 원소부터 시작한다.) 타겟이 되는 숫자가 이전 위치에 있던 원소보다 작다면 위치를 서로 교환한다. 그 다음 타겟을 찾아 위와 같은 방법으로 반복한다. 배열을 0인덱스부터 i-1번째가 정렬되어 있을 때 for문을 돌아서 a[i]의 값보다 크다면 인덱스를 한칸씩 뒤로 이동해준다 만약에 a[i]의 값보다 작거나 같다면 배열의 j+1번째 인덱스에 a[i]값을 넣어준다. 이때 a[i]값은 미리 변수에 저장을 해둔다. Pseudo-code Algorithm ins..

    [알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)

    [알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)

    선택정렬 각 루프마다 최대(최소) 원소를 찾는다 최대(최소) 원소와 마지막(가장 앞에 있는) 원소를 교환한다 마지막(가장 앞에 있는) 원소를 제외한다 – 하나의 원소만 남을 때까지 위의 루프를 반복 pseudo 코드 배열 끝에서부터 나머지 원소들 중 최대값과 교환하는 방식 Algorithm selectionSort(a,n) for i = n-1 down to 1 //a[0]부터 a[i]까지 중 가장 큰 원소의 위치 index를 찾는다. index = 0 for j = 1 to i if(a[index] < a[j]) then index = j //a[index]와 a[i]를 교환한다. int temp = a[index] a[index] = a[i] a[i] = temp python 코드 배열 처음부터 나머..

    [python](알고리즘) mergeSort 병합정렬(합병정렬) 구현

    [python](알고리즘) mergeSort 병합정렬(합병정렬) 구현

    Merge sort(합병정렬) 구현 코드 def merge_sort(list): if len(list)

    프로그래밍 언어 순위 (TIOBE index) , 파이썬의 전망

    프로그래밍 언어 순위 (TIOBE index) , 파이썬의 전망

    프로그래밍 언어 순위 (TIOBE index) 오랫동안 프로그래밍 언어의 인기 순위에서 1위를 차지하고 있던 Java 가 최근 순위가 3위로 떨어졌다. 출처: https://www.tiobe.com/tiobe-index/ 이러한 순위 결과를 산정한 TIOBE index 에서는 현재 사용하고 있는 프로그래밍 언어를 이용하는 엔지니어 수와 해당 프로그래밍 언어 관련 강좌 및 홈페이지 수, 그리고 Google, Bing 등의 검색 플랫폼에서 그 언어가 검색된 횟수의 기준으로 순위를 결정한다. TIOBE index 프로그래밍 언어 평가 기준 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으..

    [python] factorial 함수, 재귀함수 구현

    [python] factorial 함수, 재귀함수 구현

    factorial 팩토리얼 함수 구현 팩토리얼 함수의 재귀함수버전 def factorial(num): #팩토리얼 함수 factor = 1 for i in range(1,num+1): factor *= i return factor def factorialRecursion(num): #팩토리얼 재귀함수 if num == 1: return 1 return num * factorialRecursion(num - 1) 실행 print(factorial(5)) print(factorialRecursion(5)) 결과 120 120

    [python] (알고리즘) binarySearch (이진탐색) 구현

    [python] (알고리즘) binarySearch (이진탐색) 구현

    binarySearch (이진탐색) 구현 코드 #이진탐색 data = [2, 11, 19, 27, 30, 31, 45, 121] n = int(input(&#39;검색할 데이터를 입력하세요: &#39;)) l = 0 #검색할 데이터 리스트의 첫번째 인덱스 h = len(data)-1 #검색할 데이터 리스트의 마지막 인덱스 count = 0 #검색 비교 횟수 isFlag = False #데이터 검색의 성공 여부 while(l data[m]: l = m + 1 elif n < data[m]: h = m - 1 #count 위치 유의 count += 1 # 비교횟수를 증가 print("{} 번 비교했습니다".format(count)) if isFlag: print("검색 완료!, 입력된 데이터 {}의 인덱스는..