컴퓨터 과학

컴퓨터 과학의 학생, 연구원 및 실무자를위한 Q & A

6
숫자에 대한 기본 연산에 일정한 시간이 걸린다고 어떻게 가정 할 수 있습니까?
일반적으로 알고리즘에서는 숫자의 비교, 덧셈 또는 뺄셈에 신경 쓰지 않습니다 . 시간 에서 실행한다고 가정 합니다. 예를 들어, 비교 기반 정렬이 이라고 말할 때 이것을 가정 하지만, 숫자가 레지스터에 맞지 않을 때는 일반적으로 숫자를 배열로 나타내므로 기본 연산에는 요소 당 추가 계산이 필요합니다.O ( 1 )O(1)O(1)O ( n 로그n )O(nlog⁡n)O(n\log …

9
최신 프로세서에서 비트 단위 연산만큼 빠른 추가가 필요한 이유는 무엇입니까?
현대 프로세서에서는 비트 단위 연산이 32 비트 또는 64 비트에서 병렬로 작동 할 수 있기 때문에 비트 단위 연산이 너무 빠르다는 점을 알고 있으므로 비트 단위 연산은 한 번의 클럭 주기만 걸립니다. 그러나 추가는 하나 이상의 비트 연산으로 구성되는 복잡한 작업이므로 3-4 배 느려질 것이라고 생각했습니다. 간단한 벤치 마크 후에 …

9
프로그래밍 언어의 어떤 속성으로 컴파일이 불가능합니까?
질문: "프로그래밍 언어의 특정 속성은 코드로 작성된 코드를 실행하는 유일한 방법은 해석에 의한 것입니다. 즉, 전통적인 CPU의 네이티브 머신 코드로 컴파일 할 수 없습니다. 이러한 속성은 무엇입니까?" 컴파일러 : Parag H. Dave와 Himanshu B. Dave의 원칙과 실습 (2012 년 5 월 2 일) 이 책은 그 답에 대한 단서를 제공하지 …

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

3
컴퓨터는 어떻게 시간을 추적합니까?
컴퓨터가 매번 정확한 시간과 날짜를 어떻게 알 수 있습니까? 컴퓨터를 닫을 때마다 (종료) 내부의 모든 연결과 프로세스가 중지됩니다. 컴퓨터를 다시 열면 정확한 시간을 어떻게 알 수 있습니까? 컴퓨터를 종료해도 컴퓨터가 완전히 종료되지 않습니까? 아직 실행중인 프로세스가 있습니까? 그러나 배터리를 꺼내고 모든 프로세스를 강제로 중지하고 며칠 후에 다시 시작하면 랩톱에서 올바른 …

6
튜링 머신이 인기있는 계산 모델 인 이유는 무엇입니까?
저는 CS 학부생입니다. Turing이 자신의 추상 기계 (계산을 수행하는 사람을 모델링)를 생각해 냈지만 이해하기가 어색하고 우아하지 않은 것처럼 보입니다. 왜 우리는 "테이프"와 머신 헤드가 기호를 쓰고 상태를 바꾸고 테이프를 앞뒤로 이동시키는 것을 고려합니까? 근본적인 의미는 무엇입니까? DFA는 우아합니다. 일반 언어를 인식하는 데 필요한 것을 정확하게 캡처하는 것 같습니다. 그러나 튜링 …

4
MapReduce의 참신함은 무엇입니까?
몇 년 전 MapReduce 는 분산 프로그래밍의 혁명으로 호평 을 받았습니다. 또한있어왔다 비판 하지만, 전반적으로 열정적 인 과대 광고가 있었다. 심지어 특허를 받았습니다! [1] 이름은 연상 map과 reduce기능적인 프로그래밍,하지만 난 읽을 때 (위키 백과) 맵 단계 : 마스터 노드는 입력을 가져 와서 작은 하위 문제로 나누고 작업자 노드에 분배합니다. 작업자 …

2
공동화 란 무엇입니까?
나는 (구조적) 유도에 대해 들었습니다. 작은 구조에서 유한 구조를 만들 수 있으며 그러한 구조에 대한 추론에 대한 증명 원칙을 제공합니다. 아이디어는 충분히 분명하다. 그러나 공동화는 어떻습니까? 어떻게 작동합니까? 무한 구조에 대해 결정적인 것을 어떻게 말할 수 있습니까? 해결해야 할 두 가지 각도, 즉 사물을 정의하는 방법과 증명 기법으로 공동화가 있습니다. …

1
LL과 LR 문법의 언어 이론 비교
사람들은 종종 LR (k) 파서가 LL (k) 파서 보다 강력 하다고 말합니다 . 이 진술은 대부분 모호하다. 특히, 고정 대한 클래스 k케이k또는 모든 대한 결합을 비교해야 k케이k합니까? 상황은 어떻습니까? 특히, 나는 LL (*)이 어떻게 적용되는지에 관심이 있습니다. 내가 아는 한, LL 및 LR 파서가 허용하는 각 문법 세트는 직교이므로 각 …

6
실제 공식 프로그램 검증
소프트웨어 엔지니어로서 저는 산업용 제품에 대한 많은 코드를 작성합니다. 클래스, 스레드, 일부 디자인 노력, 성능 저하와 함께 비교적 복잡한 작업. 나는 많은 테스트를 수행하고 테스트에 지쳤으므로 Coq, Isabelle과 같은 공식적인 증거 도구에 관심이있었습니다 ...이 중 하나를 사용하여 내 코드에 버그가 없으며 완료되었음을 증명할 수 있습니까 그것으로? -그러나 이러한 도구 중 …

7
법안 NP- 완료입니까?
법률 코드와 복잡성이 관련된 작업이 있는지 알고 싶습니다. 특히, "이 법률 서와 특정 상황을 감안할 때 피고인이 유죄입니까?"라는 결정 문제가 있다고 가정합니다. 어떤 복잡한 클래스에 속합니까? 카드 게임 Magic : The Gathering이 NP와 Turing-complete 인 것으로 입증 된 결과가 있으므로 법적인 코드에 대해 유사한 결과가 없어야합니까?

14
프로그래밍 언어를 공부한다는 것을 부모님 께 어떻게 설명 할 수 있습니까?
나는 현재 컴퓨터 과학 석사를 마치고 있습니다. 프로그래밍 언어, 특히 형식 시스템에 관심이 있습니다. 이 분야에 대한 연구에 관심이 있었고 다음 학기에는 주제에 관한 박사 학위를 시작할 것입니다. 이제 실제 질문이 있습니다. 컴퓨터 과학이나 관련 분야에 대한 사전 지식이없는 사람들에게 내가하고 싶은 일을 어떻게 설명 할 수 있습니까? 제목은 부모님, …

10
Ruby / Python과 같은 동적 언어가 성능과 같은 C / C ++에 도달 할 수 있습니까?
Ruby와 같은 동적 언어에 대해 C / C ++와 비슷하고 비슷한 성능을 갖는 컴파일러를 빌드 할 수 있는지 궁금합니다. 예를 들어, 컴파일러에 대해 이해하고있는 루비를 예로 들어 보자. 루비가 리플렉션을 처리하는 방식, 정수에서 큰 정수로의 자동 유형 변환과 같은 기능, 정적 타이핑이 없기 때문에 루비 코드를 효율적으로 컴파일 할 수 …


3
배열 인터리빙을위한 적절한 알고리즘
2n2엔2n 요소 의 배열이 제공됩니다 a1,a2,…,an,b1,b2,…bn에이1,에이2,…,에이엔,비1,비2,…비엔a_1, a_2, \dots, a_n, b_1, b_2, \dots b_n 작업은 결과 배열이 다음과 같은 내부 알고리즘을 사용하여 배열을 인터리브하는 것입니다. b1,a1,b2,a2,…,bn,an비1,에이1,비2,에이2,…,비엔,에이엔b_1, a_1, b_2, a_2, \dots , b_n, a_n 내부 요구 사항이 없으면 새 배열을 쉽게 만들고 시간 알고리즘을 제공하는 요소를 복사 할 수 있습니다 .O(n)영형(엔)\mathcal{O}(n) 위치 …

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