> 백엔드 개발 > C++ > n개의 요소와 O(1) 연산을 갖춘 데이터 구조?

n개의 요소와 O(1) 연산을 갖춘 데이터 구조?

WBOY
풀어 주다: 2023-08-29 18:53:11
앞으로
1037명이 탐색했습니다.

n개의 요소와 O(1) 연산을 갖춘 데이터 구조?

여기서 n개의 요소와 O(1) 연산을 갖춘 데이터 구조를 볼 수 있습니다. 따라서 작업을 실행하는 데 일정한 시간이 걸립니다.

데이터 구조에는 n개의 요소(0에서 n-1까지)가 포함됩니다. 데이터의 순서는 무엇이든 가능합니다. 삽입, 삭제, 검색에는 O(1) 시간이 소요됩니다.

이 문제를 해결하기 위해 부울 배열을 사용합니다. 이는 항목이 위치 i에 존재하는지 여부를 나타냅니다. 항목이 존재하면 1, 그렇지 않으면 0입니다.

알고리즘

초기화(n)

begin
   fill all elements of the Boolean array as 0
end
로그인 후 복사

삽입(i)

begin
   set element at index i as 1(true)
end
로그인 후 복사

삭제(i)

begin
set element at index i as 0(false)
end
로그인 후 복사

검색(i)

begin
   return item at position i
end
로그인 후 복사

//initialization
void init(int n) {
   bool dataStructure[n];
   for (int i = 0; i<n; i++)
      dataStructure[i] = 0;
}
//Insertion
void insert(unsigned i) {
   dataStructure[i] = 1;
}
//Deletion
void delete(unsigned i) {
   dataStructure[i] = 0;
}
//Search
bool search(unsigned i) {
   return dataStructure[i];
}
로그인 후 복사

위 내용은 n개의 요소와 O(1) 연산을 갖춘 데이터 구조?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿