한빛미디어2 [쓰면서 익히는 알고리즘과 자료구조](3) 연결 리스트(Linked List) 많이 등장하는 자료구조 단점 특정 위치의 데이터를 찾기 위해서는 처음부터 순회해야 한다. 주소값도 저장해야 되서 추가 메모리 공간이 필요하다 연속적인 메모리 공간으로 관리되지 않아서 CPU 캐시 입장에서 비용이 더 든다 class Node(object): def __init__(self): self.data: object = None self.next: Node = None 3.4 연결 리스트 뒤집기 class Node(object): def __init__(self): self.data: object = None self.next: Node = None def reverse_list(head: Node) -> Node: prev = None curr = head while curr is not None.. 2023. 2. 8. [쓰면서 익히는 알고리즘과 자료구조](1) 배열(Array) 1.3 두 수의 합 찾기 def two_sum_brute_force(nums: list[int], target: int) -> list[int]: for i in range(0, len(nums)): for j in range(i+1, len(nums)): if (nums[i] + nums[j]) is target: return [i, j] return [-1, -1] def two_sum_hash(nums: list[int], target: int) -> list[int]: hashtable_dict = {} for i in range(0, len(nums)): value = target - nums[i] if hashtable_dict.get(value) is not None: return sorte.. 2023. 2. 6. 이전 1 다음