Tag: algorithm

0

linked list를 이용한 queue 구현

FIFO(First In First Out) 구조를 생각하며 구현해본다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283

0

linked list를 이용한 stack 구현

LIFO(Last In First Out) 구조를 생각하면서 구현하도록 한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768class Node: def __init__

0

dummy double linked list

구현 편의성을 위해서 Dummy(데이터를 가지지 않는 노드) 사용 즉, head와 Tail은 데이터를 가지지 않음 head : 리스트 맨 앞에 있는 더미를 가리킴 tail : 리스트 맨 뒤에 있는 더미를 가리킴 size : 리스트의 요소 개수 12345678910111213141516171819202122232425262728293031323334353

0

single linked list

Node = data + link head(list의 첫번째 노드를 가리킴) d_size(list의 요소 개수) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

0

merge sort

Help Link! GeeksforGeeks Youtube(https://www.youtube.com/watch?v=JSceec-wEyw) merge sort(합병 정렬) Comparison sort의 한 종류 두 수를 비교해서 정렬하는 방법 divide and conquer(분할 정복 알고리즘) O(nlogn) 리스트의 길이가 0 또는 1이면 이미 정렬된

0

quick sort

Help Link! GeeksforGeeks Youtube(https://www.youtube.com/watch?v=PgBzjlCcFvc) quick sort(퀵 정렬) Comparison sort의 한 종류 두 수를 비교해서 정렬하는 방법 divide and conquer(분할 정복 알고리즘) O(nlogn) 맨 앞의 데이터를 기준으로 선택했을 경우 모든

0

selection sort

Help Link! GeeksforGeeks Youtube(https://www.youtube.com/watch?v=xWBP4lzkoyM) selection sort(선택 정렬) Comparison sort의 한 종류 두 수를 비교해서 정렬하는 방법 O(n^2) simple sort 제자리 정렬 알고리즘의 하나 입력 리스트(정렬되지 않은 값들) 이외에 다른

0

insertion sort

Help Link! GeeksforGeeks Youtube(https://www.youtube.com/watch?v=OGzPmgsI-pQ) insertion sort(삽입 정렬) Comparison sort의 한 종류 두 수를 비교해서 정렬하는 방법 O(n^2) Comparison sort 중에 그나마 나음 simple sort 두 번째 자료부터 시작하여

0

calculator

후위 표기법을 이용한 정수형 계산기 만들기 3*5 처럼 연산자가 중간에 있는 경우를 중위 표기법이라고 한다. *35 처럼 연산자가 앞에 있는 경우를 전위 표기법이라고 한다. 35* 처럼 연산자가 뒤에 있는 경우를 후위 표기법이라고 한다. 123456789101112후위 표기법- 컴퓨터가 계산하기 쉬운 수식- 괄호가 없다.- 연산자가 뒤에 위치[ 후위 표

0

binary search

Binary search(이진 탐색) 데이터의 집합이 반드시 정렬된 상태어야 함 시작 인덱스와 끝 인덱스 그리고 중간 인덱스를 정의 원하는 인덱스가 중간 인덱스보다 작다면 끝 인덱스를 중간 인덱스보다 작게 만든다. 원하는 인덱스가 중간 인덱스보다 크다면 시작 인덱스를 중간 인덱스보다 크게 만든다. 시작 인덱스가 끝 인덱스보다 커지면 반복을 멈춘다. 12