오늘배운거 깊게
def insertion_sort(li): n=len(li) # for i in range(1,n): # temp=li[i] # for j in range(i-1,-2,-1): # if li[j]>temp: # li[i]=li[j] # li[j+1] =temp for i in range(1,n): temp=li[i] for j in range(i-1,-2,-1): if j == -1: break if li[j]>temp: li[j+1]=li[j] else: break li[j+1]=temp def get_middle_idx(li,start,mid,end): """ 리스트의 맨처음 값과 중간 값, 마지막값중에서 가운데 값이 위치한 인덱스를 반환한다. """ idx_li=[start,mid,end] if ..
네트워크, 퀵소트, isertion, selection
목차 ㅡ네트워크 ㅡ퀵소트 random pivot , O(nlogn) - 다른알고리즘은 최악을 고려하는데 퀵소트는 평균 ㅡ insertion, selection sort ㅡ merge sort 이후 ㅡ연결리스트 (배열과 연결리스트의 차이) 스택,큐(스택2개로 큐 구현하기), Tree(순회-전위,중위-스택계열,후위 레벨순서-큐 계열) nat : ip 라우팅 TCP/IP 4계층 application 1.htpp 2http 3ftp 4smtp 5dns http: 메시지기반 프로토콜 ->''문자열''이다 쓰고 주고받고 Translate( 포트, 전송계층) 특정 process INTERNET (IP ROUNTING) 특정 호스트 --------ARP(IP - > MAC) NETWORK INTERFACE(ETHERN..
하노이타워
def hanoi(n, _from, _by, _to): #base case if n==1: print(f'{n}번째 쟁반을 {_from}에서 {_to}로 이동 ') return hanoi(n-1, _from, _to, _by) print(f'{n}번째 쟁반을 {_from}에서 {_to}로 이동 ') hanoi(n-1, _by, _from ,_to) hanoi(3,a,b,c)를 입력했다고 치자 이 함수는 기저조건 n==1을 못맞춰서 프린트하지 않고 아래로 내려갈것이고 hanoi(2,a,c,b) print(2번째를 a -> c) hanoi(2, b,a,c)를 만들것이다 만들어는 두는데, 재귀 호출에 의해 hanoi(2,a,c,b)를 실행할 것이고 이는 이프문을 지나 hanoi(1,a,b,c) print(2번..