«data-structures» 태그된 질문

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

5
같은 목적에 맞는 다른 알고리즘 / 데이터 구조를 배우는 이유는 무엇입니까?
학부생이었던 이래로이 질문이 궁금합니다. 일반적인 질문이지만 아래 예를 자세히 설명하겠습니다. 최대 흐름 문제와 같은 많은 알고리즘을 보았습니다 .Ford-Fulkerson, Edmonds-Karp & Dinic과 같은 3 가지 알고리즘을 알고 있습니다. 데이터 구조 (예 : 힙)에는 이진 힙, 이항 힙 및 피보나치 힙이 있으며 피보나치 힙은 전체적으로 가장 복잡합니다. 나를 혼란스럽게하는 것은 : 우리가 …


4
(언제) 해시 테이블 조회 O (1)입니까?
해시 테이블 조회는 일정한 시간에 작동한다고 말합니다. 해시 값을 계산하면 배열 조회에 대한 색인이 제공됩니다. 그러나 이것은 충돌을 무시합니다. 최악의 경우 모든 항목이 동일한 버킷에 도달하고 조회 시간이 선형이됩니다 ( Θ ( n )Θ(n)\Theta(n) ). 데이터에 해시 테이블 조회를 실제로 만들 수있는 조건이 있습니까? 그게 유일한 평균, 또는 해시 테이블이 …

4
해싱 함수에서 소수를 mod로 사용하는 것이 가장 좋은 이유는 무엇입니까?
1에서 100 사이의 키 값 목록이 있고 11 버킷 배열로 구성하려는 경우 mod 함수를 형성하도록 배웠습니다. H=kmod 11H=kmod 11 H = k \bmod \ 11 이제 모든 값이 9 행으로 차례로 배치됩니다. 예를 들어 첫 번째 버킷에는 0,11,22…0,11,22…0, 11, 22 \dots 있습니다. 두 번째에는 1,12,23…1,12,23…1, 12, 23 \dots 등이 있습니다. …

4
레드-블랙 나무가 왜 그렇게 인기가 있습니까?
내가 보는 모든 곳에서 데이터 구조는 레드 블랙 트리 ( std::setC ++, SortedDictionaryC # 등)를 사용하여 구현되고있는 것 같습니다 . 알고리즘 클래스에서 방금 (a, b), 빨강-검정 및 AVL 트리를 다루었으므로 여기에 나와 있습니다 (교수들에게 물어보고 몇 권의 책을보고 약간의 인터넷 검색을 통해). AVL 트리는 빨강 검정 트리보다 평균 깊이가 작으므로 …

9
추출 이있는 우선 순위 큐가 있습니까?
우선 순위 큐 인터페이스를 구현하는 많은 데이터 구조가 있습니다. 삽입 : 구조에 요소를 삽입 Get-Min : 구조에서 가장 작은 요소를 반환 추출 최소 : 구조에서 가장 작은 요소 제거 이 인터페이스를 구현하는 일반적인 데이터 구조는 (최소) 힙 입니다. 일반적으로 이러한 작업의 실행 시간은 다음과 같습니다. 삽입 : (때때로 )O ( …

1
빨강-검정 나무를 상상해보십시오. 이를 생성하는 삽입 및 삭제 시퀀스가 ​​항상 있습니까?
다음과 같이 빨강-검정 나무의 정의를 가정 해 봅시다. 이진 검색 트리입니다. 각 노드는 빨간색 또는 검은 색으로 표시됩니다. 뿌리는 검은 색입니다. 가장자리로 연결된 두 개의 노드는 동시에 빨간색 일 수 없습니다. 다음은 위키와 같이 NIL 리프에 대한 좋은 정의입니다 . NIL 잎은 검은 색입니다. 루트에서 NIL 리프까지의 경로에는 동일한 수의 …

2
빠른 맞춤법 검사기를 구축하기위한 효율적인 데이터 구조
꽤 큰 사전에서 작동하는 맞춤법 검사기를 작성하려고합니다. 철자가 틀린 단어에 가장 가까운 단어를 결정하기 위해 Damerau-Levenshtein 거리를 사용하여 사전 데이터를 효율적으로 색인화하는 효율적인 방법을 원합니다 . 공간 복잡성과 런타임 복잡성 사이에서 최상의 절충안을 제공하는 데이터 구조를 찾고 있습니다. 인터넷에서 찾은 내용에 따라 사용할 데이터 구조 유형에 대한 몇 가지 리드가 …

11
컴퓨터 과학의 데이터가 왜 이산적인 것으로 간주됩니까?
데이터의 "구조"는 부울 대수에 전적으로 의존하지만 다음과 같이 이해합니다. 왜 데이터가 연속적인 것이 아니라 이산적인 수학적 실체로 간주됩니까? 이것과 관련하여 : 데이터를 차원 의 연속 엔터티로 구조화 할 때 위반되는 결점 또는 변형은 무엇입니까 ?rrr 저학년 수학 학생으로서 나는이 분야의 전문가가 아니므로, 내가 5 살인 사람이 나에게 이것을 설명한다면 정말 …

3
하드웨어 / 구현이 알고리즘의 시간 / 공간 복잡성에 영향을 줍니까?
나는 CS 학생조차 아니기 때문에 이것은 멍청한 질문 일지 모르지만 나와 함께 견뎌주십시오 ... 컴퓨터 이전 시대에는 서랍 배열과 같은 배열 데이터 구조 만 구현할 수 있습니다. 값을 추출하기 전에 해당 색인이있는 드로어를 찾아야하므로 배열 검색의 시간 복잡도는 이진 검색을 가정하는 입니다.O(log(n))O(log(n))O(log(n)) 그러나 컴퓨터의 발명은 큰 차이를 만들었습니다. 최신 컴퓨터는 …

2
기수 트리와 패트리샤 시도의 차이점은 무엇입니까?
나는 기수 나무 (일명 압축 시도)에 대해 배우고 있지만 Patricia는 시도하지만 실제로 동일한 지 여부에 대한 상충되는 정보를 찾고 있습니다. 노드가 유일한 자식 일 때 부모와 노드를 병합하여 일반 (압축되지 않은) 트리에서 기수 트리를 얻을 수 있습니다. 패트리샤도 마찬가지다. 두 가지 데이터 구조는 어떤면에서 다른가? 예를 들어 NIST 는 둘을 …

2
모든 Red-Black 나무가 균형을 이루지는 않습니까?
직관적으로 "균형 트리"는 각 노드의 왼쪽 및 오른쪽 하위 트리에 "거의 동일한"수의 노드가 있어야하는 트리 여야합니다. 물론, 우리가 적-검은 나무 * (끝의 정의 참조)에 대해 이야기 할 때, 우리는 실제로 그것들이 높이 균형이 잡히고 그런 의미에서 균형 이 잡힌다 는 것을 의미합니다. 위의 직관을 다음과 같이 공식화한다고 가정하십시오. 정의 : …

1
해시 테이블과 이진 트리
사전을 구현할 때 ( '고객 ID별로 고객 데이터를 조회하고 싶습니다') 사용되는 일반적인 데이터 구조는 해시 테이블과 이진 검색 트리입니다. 예를 들어 C ++ STL 라이브러리는 (균형) 이진 검색 트리를 사용하여 사전을 구현하고 (맵이라고 함) .NET 프레임 워크는 해시 테이블을 사용합니다. 이러한 데이터 구조의 장단점은 무엇입니까? 특정 상황에서 합리적인 다른 옵션이 …

2
C의 void 유형이 빈 / 하단 유형과 유사하지 않은 이유는 무엇입니까?
Wikipedia와 내가 찾은 다른 소스 void는 빈 유형이 아닌 C 유형을 단위 유형으로 나열 합니다. 나는 void빈 / 하단 유형의 정의에 더 잘 맞는 것처럼 혼란 스럽습니다 . void내가 알 수있는 한 값이 없습니다 . 반환 유형이 void 인 함수는 함수가 아무것도 반환하지 않으므로 일부 부작용 만 수행 할 수 …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

1
이러한 문자열 연산을 지원하는 '문자열 스택'데이터 구조가 있습니까?
다음 작업을 수행 할 수 있는 문자 집합 위에 문자열 집합을 저장하는 데이터 구조를 찾고 있습니다. 우리 나타내고 문자열 집합 데이터 저장 구조로서 .ΣΣ\SigmaD(S)D(S)\mathcal{D}(S)SSS Add-Prefix-Set에 : 일부 설정 주어진 크기 상수에 의해 제한되고, 그 문자열의 길이 상수에 의해 제한되는 문자열 (비어)의, 반환 . 이 경계 상수는 모두 전역입니다. 모든 입력 …

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