«data-structures» 태그된 질문

알고리즘에 의해 유리하게 사용될 수 있도록 데이터를 저장하는 방법에 대한 질문.

5
해시 테이블 작업 O (1)는 어떤 종류의 데이터입니까?
에 대한 답변에서 해시 테이블 조회 O (1)이다 (시)는? 데이터가 특정 통계 조건을 만족할 때 해시 테이블에 최악의 동작 (최소한 상각)이 있으며 이러한 조건을 광범위하게 만드는 데 도움이되는 기술이 있습니다.O(1)O(1)O(1) 그러나 프로그래머의 관점에서 볼 때 내 데이터가 무엇인지 미리 알 수 없습니다. 종종 외부 소스에서 비롯됩니다. 그리고 한 번에 모든 …

3
널 노드를 나타내는 데 NIL을 사용하는 목적은 무엇입니까?
내 알고리즘 및 데이터 구조 과정에서 교수, 슬라이드 및 책 ( Algorithms 소개, 3 판 )은 NIL예를 들어 존재하지 않는 노드 (트리의)의 자식을 나타내는 단어 를 사용하고 있습니다. 한 번 강의 중에라는 말 대신에 NIL내 반 친구가 말했다 null. 교수가 그를 교정했는데 교수가 왜이 단어를 강조하는지 이해할 수 없다. 사람들 …

2
추상 데이터 구조와 콘크리트 데이터 구조의 차이점은 무엇입니까?
연관 배열 (예 : 맵 또는 사전)과 해싱 테이블은 동일한 개념이라고 생각했습니다. Wikipedia 이라고 생각했습니다. 바인딩 수가 매우 적은 사전의 경우 연결된 바인딩 목록 인 연결 목록을 사용하여 사전을 구현하는 것이 좋습니다. ... 연관 배열의 가장 일반적으로 사용되는 범용 구현은 해시 테이블 (바인딩 배열)과 가능한 각 키를 배열 인덱스에 매핑하는 …

2
이진 트리를 빨간색-검정색 나무로 채색
일반적인 인터뷰 질문은 주어진 이진 트리가 높이 균형을 이루는 지 확인하는 알고리즘을 제공하는 것입니다 (AVL 트리 정의). Red-Black 나무와 비슷한 것을 할 수 있는지 궁금합니다. 임의의 채색되지 않은 이진 트리 (NULL 노드 포함)가 주어지면, 노드가 Red-Black 트리의 모든 속성을 만족시킬 수 있도록 Red / Black 노드를 채색 (및 채색 할 …

3
이진 최소 힙의 증가 키 및 감소 키
이진 힙에 대한 많은 토론에서 일반적으로 감소 키만 최소 힙에 대해 지원되는 작업으로 나열됩니다. 예를 들어 CLR 챕터 6.1 및 이 위키 백과 페이지 입니다. min-heap에 대해 증가 키가 일반적으로 나열되지 않는 이유는 무엇입니까? 자식이 x보다 크지 않을 때까지 증가 된 요소 (x)를 자식의 최소값으로 반복적으로 교환하여 O (높이)에서 그렇게 …

6
인피 마로 부분적으로 정렬 된 우선 순위에 대한 우선 순위 큐
나는 우선 순위가 복합 형이고 일부만 정렬 된 객체를 가지고 있습니다 . 이 우선 순위에 따라 객체를 선택해야합니다 (즉, 매번 최소 항목 생성 ). 그러나 임의로 주문을 완료하는 대신 큐가 안정된 경우 최소 요소가 두 개 이상인 경우 가장 오래된 요소를 먼저 반환해야합니다. 부분 순서와 작동하는 힙 데이터 구조가 있습니까? …

2
AO * 알고리즘을 구현하는 방법은 무엇입니까?
검색 알고리즘을 구현할 때 다른 데이터 구조가 사용됩니다. 예를 들어, 큐를 사용하여 너비 우선 검색을 구현하고 스택에서 깊이 우선 검색을 구현하고 최소 힙을 사용하여 A * 알고리즘 을 구현합니다 . 이 경우 검색 트리를 명시 적으로 구성 할 필요가 없습니다. 그러나 AO * 알고리즘 의 검색 프로세스를 시뮬레이션하는 간단한 데이터 …

2
이진 힙 증명에는
나는 것을 증명하기 위해 노력하고있어 바이너리 힙 과 노드가 정확히이 ⌈ N을nnn힙이 다음과 같은 방식으로 구축 된 경우 2 ⌉의잎 :⌈n2⌉⌈n2⌉\left\lceil \frac{n}{2} \right\rceil 각 새 노드는 percolate up을 통해 삽입 됩니다 . 즉, 사용 가능한 다음 자식에서 각각의 새 노드를 만들어야합니다. 내가 의미하는 바는 아이들은 수평으로 채워지고 왼쪽에서 오른쪽으로 채워진다는 …


2
점의 플롯이 공간에 대한 파티션을 정의하는이 데이터 구조 / 개념은 무엇입니까
나는 실제 문제를 해결하는 알고리즘을 만났고 숙제 문제를 위해 비슷한 것을 만들었던 수업을 기억합니다. 기본적으로 이것은 점의 도표이며 선은 두 점 사이에 등거리로 그려집니다. 점 주위의 선이 해당 점에 가장 가까운 영역의 모양을 형성하는 완벽한 파티션을 형성합니다. 누군가에게 종을 울리는가? 인터넷 검색 설명과 결과를 얻는 데 어려움을 겪었습니다. 그리고 나는 …

6
한 배열에 두 개의 스택을 구현하는 방법은 무엇입니까?
나는 이것이 숙제 문제가 아니라고 말하면서 시작하고 싶습니다. 더 나은 프로그래머가 될 유명한 CLRS 텍스트 인 알고리즘 소개를 읽고 있습니다. 나는이 책에 주어진 문제와 연습 문제를 스스로 해결하려고 노력하고있다. 내가 해결하기 위해 노력하고 훈련은 10.1-2을 에서 제 10 장 기본 데이터 구조 CLRS 두 번째 판에서. 그 상태는 다음과 같습니다. …

3
동적 그래프 관련 문제에 접근하는 방법
나는 일반적인 stackoverflow 에서이 질문을 했고 여기에 지시되었다. 일반적으로 부분 또는 완전 동적 그래프 문제에 접근하는 방법을 설명 할 수 있다면 좋을 것입니다. 예를 들면 다음과 같습니다. 각 인스턴스에서 에지가 제거 될 때 인스턴스 에 대한 무 방향 가중치 그래프에서 두 정점 사이의 최단 경로를 찾습니다 .( u , v …

2
쿼드 트리에 큰 기하학적 객체를 저장하는 데 어떤 방법이 선호됩니까?
쿼드 트리 (또는 옥트리)에 기하학적 객체를 배치 할 때 몇 가지 방법으로 단일 노드보다 큰 객체를 배치 할 수 있습니다. 객체의 참조를 포함하는 모든 리프에 객체 참조 배치 객체 참조가 완전히 포함 된 가장 깊은 노드에 객체 참조 배치 # 1과 # 2 예를 들면 다음과 같습니다. 이 이미지에서는 네 …


6
구간에서 두 숫자의 최대 XOR 찾기 : 이차보다 더 잘 할 수 있습니까?
두 개의 숫자 과 r 이 주어지고 l ≤ i에 대해 max ( i ⊕ j ) 를 찾고 싶다고 가정 해 봅시다 .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)} .l≤i,j≤rl≤i,j≤rl\le i,\,j\le r 순진한 알고리즘은 단순히 모든 가능한 쌍을 확인합니다. 예를 들어 루비에는 다음이 있습니다. def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.