자료구조(3)
-
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 50회차 미션
대표적인 데이터 구조8: 힙 1. 힙이란 -데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리 1.1 완전 이진 트리 - 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 - 힙을 사용하는 이유 배열에 데이터를 넣고 최대값과 최소값을 찾으려면 O(n)이 걸림 이에 반해 힙에 데이터를 넣고 최대값과 최소값을 찾으면 O(logn)이 걸림 우선순위 큐와 같이 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용 2. 힙 구조 -힙은 최대값을 구하기 위한 구조(=최대 힙) 와 최소값을 구하기 위한 구조(=최소힙) -힙은 두가지 조건을 갖고 있는 자료구조 - 각 노드의 값은 해당 노드의 자식 노드가 가진 값보다 크거나 같다(최대 힙 경우) 최소 힙의 경우는 ..
2020.12.07 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 49회차 미션
3. 대문자 O 표기법 빅 오표기법 또는 Big-O 표기법이라고도 부름 O (입력) -> 입력 n에 따라 결정되는 시간 복잡도 함수 O(1) ,O(logn), O(n), O(nlogn), O(n2 ) O(2n ) O(n!) 으로 표기 -> 입력 n의 크기에 따라 기하급수적으로 시간 복잡도가 늘어날 수 있다 O(1) 단순하게 입력n에 따라 몇번 실행이 되는지를 계산하면 됩니다 - 표현식에 가장 큰 영향을 미치는 n의 단위로 표기 - n이 1이든 100이든 1000이든 10000이든 실행을 무조건 2회 실행: O(n) if n> 10: print(n) - n에 따라 n번 , n+10번 또는 3n +10 번등..
2020.12.06 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 6 회차 미션
링크드 리스트 장단점 장점 --> 미리 데이터 공간을 할당하지 않아도 됨 단점 --> 배열은 두개의 데이터를 저장할 공간만 가지면 되는데 링크드 리스트는 각 데이터마다 다음 노드를 가리킬 주소 (포인터)를 별도로 가지고 있어야 한다 – 저장공간 효율 높지 않아 --> 배열은 인덱스 번호가 있어 바로 인덱스 번호로 값을 찾을 수 있으나 링크드 리스트는 연결 정보를 찾는 시간이 필요해 접근 속도가 느려 --> 중간 데이터를 삭제하거나 연결된 데이터 중간에 추가적으로 노드를 추가할 경우 주소를 변경해야 하는 재구성 작업 필요 링크드 리스트와 복잡한 기능1 =>링크드 리스트 데이터 사이에 데이터 추가 node = head while node.next: print(node.data) node = node.next..
2020.10.24