전체 글172 알고리즘 3주차 정렬 참고 블로그 https://coding-factory.tistory.com/615 [Algorithm] 각 정렬의 특징 및 장단점 & 시간복잡도 정렬 별 특징 선택정렬 (Selection Sort) 선택정렬은 앞에서부터 차례대로 정렬하는 방법입니다. 먼저 주어진 리스트 중에 최소값을 찾고 그 값을 맨 앞에 위치한 값과 교체하는 방식으로 진행하는 coding-factory.tistory.com Tip 두 변수의 값을 교체하는 방법 a, b = b, a 버블정렬 예시 input = [4, 6, 2, 9, 1] def bubble_sort(array): n = len(array) for i in range(n): for j in range(n - i - 1): if array[j] > array[j + .. 2022. 11. 24. 22.11.23 TIL 오늘 한 일 알고리즘 강의 2주차 듣기 내일 할 일 알고리즘 특강 복습 및 느리더라도 정확하게 이해하고 가기 회고 알고리즘 너무너무 어렵다. 정확하게 이해하고 넘어가는게 좋지만 너무 매몰되지는 말라는 튜터님들의 말씀을 듣고 조금 리마인드 되는 것 같다. 기간안에 끝내려는게 아니라 이해할 수 있는건 완벽하게 이해하고 지나가야 될 것 같다. 내일 1주차부터 다시 봐야겠다. 2022. 11. 23. 알고리즘 2주차 배열(Array) 같은 타입의 변수들로 이루어진 유한 집합 링크드 리스트(Linked List) - Node : 데이터와 다음 데이터를 가리키는 주소(포인터)로 이루어져 있다. - Pointer : 각 노드에서 다음 데이터를 가리키는 주소값을 가진다. - Head : 링크드리스트에서 가장 시작점인 데이터를 의미한다. - Tail : 링크드리스트에서 가장 마지막 데이터를 의미 - Next=None(또는 Null) : 다음 데이터가 없을 경우 포인터의 주소값은 None(또는 Null)이다. 링크드 리스트의 장단점 1) 장점 - 배열은 미리 데이터 공간을 할당해야 하지만 링크드리스트는 미리 할당할 필요가 없다.(유동적으로 데이터 추가,삭제 가능) - 링크드리스트 수정시 시간복잡도 O(1)을 갖는다. : 항상 .. 2022. 11. 23. Python - set(), round(), str.isalpha(), list.sort() set() 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. set() 괄호 안에 리스트를 입력하여 만들거나 다음과 같이 문자열을 입력하여 만들 수도 있다. >>> s2 = set("Hello") >>> s2 {'e', 'H', 'l', 'o'} 그런데 위에서 살펴본 set("Hello")의 결과가 좀 이상하지 않은가? 분명 "Hello" 문자열로 set 자료형을 만들었는데 생성된 자료형에는 l 문자가 하나 빠져 있고 순서도 뒤죽박죽이다. 그 이유는 set에 다음과 같은 2가지 큰 특징이 있기 때문이다. 중복을 허용하지 않는다. 순서가 없다(Unordered). 중복을 허용하지 특징 때문에 set은 자료형의 중복을 제거하기 위한 필터로 종종 사용된다. 리스트나 튜플은 순서가 있기(ordered) .. 2022. 11. 23. 알고리즘 1주차 알고리즘과 친해지기 (1) - 최대값 찾기 Q. 다음과 같이 숫자로 이루어진 배열이 있을 때, 이 배열 내에서 가장 큰 수를 반환하시오. input = [3, 5, 6, 1, 2, 4] def find_max_num(array): # array의 인덱스의 값을 max_num에 할당 max_num = array[0] # num에 array만큼 for문 실행 for num in array: # 할당된 num의 값이 max_num이 된다면 max_num에 num을 할당 if num > max_num: max_num = num return max_num result = find_max_num(input) print(result) 알고리즘과 친해지기 (2) - 최빈값 찾기 Q. 다음과 같은 문자열을 입력받았을 때.. 2022. 11. 23. 22.11.22 TIL 오늘 한 일 알고리즘 강의 1주차 듣기 내일 할 일 알고리즘 특강 듣기 및 2주차 듣기 회고 알고리즘 너무 어렵다. 뭔가 머리속에서는 방법은 떠오르는 것 같은데 구현 할 함수들이 떠오르지 않는다. 시간복잡도는 잘 이해한 것 같아서 다행이다. 마지막에 튜터님께서 공부하는 방법이나 접근방법을 잘 알려주셔서 내일부터는 그 방법대로 해봐야겠다. 2022. 11. 22. 이전 1 ··· 21 22 23 24 25 26 27 ··· 29 다음