###단축키

new_list = old_list   주소의 복사, 얕은 복사
new_list = old_list[:]   슬라이싱, 깊은 복사
new_list = []
new_list.extend(old_list)
  extend() : 리스트를 추가하는 함수 깊은 복사
new_list = list(old_list)   list(), 깊은 복사
import copy
new_list = copy.copy(old_list)
  copy 활용, 깊은 복사
new_list = [i for i in old_list]   리시트 함축, 깊은 복사
import copy
new_list = copy.deepcopy(old_list)
  리시트원소까지도 깊은 복사
가장느림
addtoFirst()   연결 리스트의 앞쪽에 원소를 추가하는 연산
addtoLast()   연결 리스트의 뒤쪽에 원소를 추가하는 연산
add()   연결 리스트의 특정 위치에 원소를 추가하는 연산
delete()   연결 리스트의 특정 위치에 있는 원소를 삭제하는 연산
get()   연결 리스트의 특정 위치에 있는 원소를 리턴하는 연산

### 첫노드 삭제 알고리즘

def deleteFirst():
	global Head
    if Head == None:
    	print('error')
    else:
    	Head = Head.link

# 노드삭제알고리즘

def delete(pre):
	if pre == None or pre.link == None:
    	print('error')
    else:
    	pre.link = pre.link.link

# 분활과정의 알고리즘

def merge_sort(m):
	if len(m) <= 1:
    	return m
    mid = len(m) //2
    left = m[:mid]
    right = m[mid:]
    
    left = merge_sort(left)
    right = merge_sort(right)
    
    return merge(left,right)
    

# 병합과정의 알고리즘

def merge(left, right):
	result = []
    while len(left) > 0 and len(right) > 0 :
    	if left[0] <= right[0] :
        	result.append(left.pop(0))
        else :
        	result.append(right.pop(0))
    if len(left) > 0 :
    	result.extent(left)
    if len(right) > 0 :
    	result.extend(right)
    return result

# push / pop 연산의 알고리즘

def push(i):
	global top
    top = Node(i, top)
    
def pop():
	global top
    
    if top == None:
    	print("error")
    else:
    	data = top.data
        top = top.link
        return data

 

'+++++SW 일일 공부+++++ > SW Expert Aademy' 카테고리의 다른 글

Queue 에대하여  (0) 2020.04.22
SW 분할 정복  (0) 2020.04.19
SW 백트래킹 미로찾기  (0) 2020.04.19
SW 계산방법  (0) 2020.04.19
트리구조의 모든 집합 구하기 시프트 활용  (0) 2020.04.09
블로그 이미지

Or71nH

,