개발자 채용의 첫 번째 게이트웨이, 코딩 테스트 테스트에서 가장 일반적인 주제는입니다 데이터 구조입니다. 이 기사에서 이론과 함께 나는 그것을 간단한 예로 요약했다. 30 분 안에 데이터 구조의 핵심을 완료 할 수 있습니다!
1. 배열
동일한 유형의 데이터를 지속적으로 저장하는 데이터 구조 색인은 대부분의 문제에서 빠르게 액세스 할 수있는 기본 장치로 사용됩니다. [10, 20, 30]
인쇄 (ARR[1]) # 20“시간 복잡성 – 액세스 : O (1) – 삽입/삭제 : O (n)
2. 스택 스택
후 (lifo) 구조 푸시 ()에 넣으십시오. 괄호, 백 추적, DFS 등으로 사용됩니다. []
stack.append (1) stack.append (2) stack.pop () # 2“`
3. 대기열
첫 번째 시작 (FIFO) 구조 BFS, 캐시 및 큐의 구현에 필수적인 수집 “컬렉션에서 파이썬을 가져옵니다 Deque queue = deque () queue.append (1) queue.popleft () # 1
4. 해시 테이블 / 사전
키 가치 구조 데이터 빠른 문의 (O (1))“ ” ‘Python scores = { “kim”: 90, “Lee”: 85} print (scores[“Kim”]) # 90“ ” ”중복 검사, 주파수 번호 계산, 매핑 구조
5. 나무
계층 적 표현, 이진 검색 트리 (BST) 및 힙 등에 사용됩니다. init (self, val) : self.val = val self.left = none self.right = 없음 ” ” ”검색 : 수동/대형/후면 투어 힙 : 우선 순위 que, 최대/최소 값 프로세스
6. 그래프
vertex 및 트렁크에 의한 DFS, BFS 검색 ““Python Graph = {1 : [2, 3]2: [1, 4],,, 3 : : 3. [1]4: [2]
}“alt️ Alt Tag 예 :
7. 우선 순위 큐
파이썬에서 가장 작은 (또는 큰) 값을 빠르게 꺼낼 수 있습니다. Heapq 모듈 “`파이썬 가져 오기 힙 큐 힙 = []
heapq.heappush (heap, 3) heapq.heappush (heap, 1) print (heapq.heappop (heap)) # 1“`
실용적인 팁
파이썬 라이브러리가 적극적으로 활용되었습니다. 그리고 heapq, 계수기 시간 복잡성 계산 능력 각 유형의 중요한 문제에 대한 데이터 구조 선택
빈번한 데이터 구조-프로 블렘 유형 일치
| 데이터 구조 | 문제의 예 | | ———- | ———- | | 배열 | 슬라이딩 창, 정렬 | 스택 | 괄호, 뒤에서 많은 수 | Q | BFS, 현금 교체 | 해시 | 중복 테스트, 주파수 | 나무 | 최소 공통 조상, 경로 합계 | 그래프 | 경로 검색, 연결 테스트 | 엉덩이 | 최소 비용, 작업 일정
마치다
데이터 구조는 다음과 같습니다 알고리즘의 골격입니다. 정확한 개념과 시간 복잡성을 기억하더라도 코딩 테스트의 절반이 성공합니다. 오늘 요약 한 데이터를 기반으로 문제 해결에 직접 적용하십시오! 🔎 다음 게시 주제 추천 → 30 : 코딩 준비를위한 핵심 질문 10 줄 → 15 : 7 코딩 기술 향상을위한 무료 온라인 사이트
참조
https://www.geeksforgeeks.org/data-structures/ https://www.acmicpc.net/problemest