[알고리즘 강의] 파트7. 연결 리스트(Linked Lists) (1)
추상적 자료구조(Abstract Data Structures) Data 정수, 문자열, 레코드, ... A set of operations 삽입, 삭제, 순회, ... 정렬, 탐색, ... 기본적 연결 리스트 Node Node: Data + link (next) Node 내의 데이터는 다른 구조로 이루어질 수 있음 (예) 문자열, 레코드, 또 다른 연결 리스트 등 리스트의 맨 앞 노드: Head (위에선 67) 리스트이 맨 뒤 노드: Tail (위에선 58) # of nodes: 3 자료 구조 정의 Node Data Link (next) # Node class Node: def __init__(self,item): self.data = item #67 self.next = None #다음 노드를 가리키는..
[알고리즘 강의] 파트3. 배열 더 알아보기: 정렬과 탐색(Sorting & Searching)
Python 리스트 정렬 (1) sorted() 내장함수 정렬된 새로운 리스트를 얻어냄 (2) sort() 리스트의 메서드(method) 해당 리스트를 정렬함 L=[3,8,2,7,6,10,9] L2=sorted(L) # L2는 [2,3,6,7,8,9,10] # L은 [3,8,2,7,6,10,9] # L과 L2는 다름 L.sort() # L은 [2,3,6,7,8,9,10] # L의 정렬이 바뀜 정렬의 순서를 반대로: reverse=True (내림차순) L2=sorted(L, reverse=True) L.sort(reverse=True) 문자열로 이루어진 리스트의 경우 정렬 순서는 사전 순서(알파벳 순서) (문자열 길이가 긴 것이 더 큰 것이 아님) 문자열 길이 순서로 정렬하려면? -> 정렬에 이용하는 키(..