컴퓨터 과학

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

11
실제로 다른 정렬 알고리즘보다 퀵 정렬이 더 나은 이유는 무엇입니까?
표준 알고리즘 과정에서 quicksort 는 평균 이고 최악의 경우 입니다. 동시에, 최악의 경우에는 ( sortsort 와 heapsort 와 같은 , 심지어 가장 좋은 경우에는 선형 시간 ( bubblesort 와 같은 )이지만 메모리가 추가로 필요한 다른 정렬 알고리즘이 연구 됩니다.O를 ( N 2 ) O ( N 로그 없음을 )O(nlogn)O(nlog⁡n)O(n \log …

7
, , complete 및 hard 정의
나는 컴퓨팅 과 복잡성 에 대해 배우고 있는데 , 이러한 용어의 의미를 이해할 수 없습니다. 내가 아는 것은 NP가 NP-complete의 하위 집합이며 NP-hard의 하위 집합이라는 것이지만, 그것이 실제로 무엇을 의미하는지 전혀 모른다. 설명이 여전히 너무 높기 때문에 Wikipedia 도별로 도움이되지 않습니다.

29
왜 컴퓨터 코드를 작성하는 것보다 수학 증명을 작성하는 것이 내결함성이 더 좋은가요?
나는 버그없이 컴퓨터 프로그램을 작성하는 것보다 실수를하지 않고 수학 증명을 작성하는 것이 훨씬 쉽다는 것을 알았습니다. 이것은 내 경험보다 더 널리 퍼진 것 같습니다. 대부분의 사람들은 프로그래밍에서 항상 소프트웨어 버그를 만들고, 실수가 무엇인지 알려주는 컴파일러를 가지고 있습니다. 한 번에 실수없이 큰 컴퓨터 프로그램을 작성한 사람에 대해 들어 본 적이 없으며 …


3
알고리즘 분석의 마법 뒤에 시스템이 있습니까?
알고리즘의 실행 시간을 분석하는 방법에 대한 많은 질문이 있습니다 (예 : 런타임 분석 및 알고리즘 분석 참조 ). 예를 들어 중첩 루프 또는 분할 및 정복 알고리즘의 비용 분석을 요구하는 경우와 유사하지만 대부분의 답변은 맞춤형으로 보입니다. 반면에, 다른 일반적인 질문에 대한 답변 은 몇 가지 예를 통해 더 큰 그림 …

12
실제로 Halting Problem이 중요한 이유는 무엇입니까?
프로그램 정지 여부를 결정할 가능성을 없애기 위해 Halting Problem 이 자주 사용되는 이유를 이해하지 못합니다 . Wikipedia [article] [1]은 유한 한 메모리를 가진 결정 론적 시스템이 이전 상태를 정지 시키거나 반복 할 것이라고 정확하게 설명합니다. 공간리스트가 O (1) 인 Halting 함수를 구현하기 위해 연결된 목록이 반복되는지 여부를 감지하는 알고리즘을 사용할 …

3
에 일련의 숫자가 있는지 어떻게 알 수 있습니까?
우리는 다음과 같은 운동을 받았습니다. 허락하다 f(n)={100n occurs in the decimal representation of πelsef(n)={10n occurs in the decimal representation of π0else\qquad \displaystyle f(n) = \begin{cases} 1 & 0^n \text{ occurs in the decimal representation of } \pi \\ 0 & \text{else}\end{cases} 가 계산 가능 하다는 것을 증명하십시오 .fff 이것이 어떻게 …

12
왜 그렇게 많은 프로그래밍 언어가 있습니까?
나는 C / C ++에 능숙하며 다양한 스크립팅 언어 (awk / sed / perl)를 둘러 볼 수 있습니다. 파이썬을 C ++의 멋진 측면과 awk / sed / perl의 스크립팅 기능과 결합하여 파이썬을 더 많이 사용하기 시작했습니다. 그러나 왜 그렇게 많은 프로그래밍 언어가 있습니까? 나는이 모든 언어가 같은 일을 할 수 …

14
그래프를보고 다른 지점과 가장 가까운 지점을 즉시 찾을 수있는 이유는 무엇입니까?하지만 프로그래밍에 O (n) 시간이 걸립니까?
내가 명확히하자 : 주어진 점 수 n의 산점도를 감안할 때, 정신적으로 플롯의 어떤 점에 가장 가까운 점을 찾으려면 그래프의 대부분의 점을 즉시 무시하고 선택 범위를 근처의 작고 일정한 점으로 좁 힙니다. . 그러나 프로그래밍에서 점 집합 n이 주어지면, 가장 가까운 점을 찾으려면 시간 인 다른 모든 점을 확인해야합니다 .O ( …

6
카테고리 이론은 함수형 프로그래밍 학습에 유용합니까?
나는 Haskell을 배우고 있으며 언어에 매료되어 있습니다. 그러나 나는 심각한 수학 또는 CS 배경이 없습니다. 그러나 저는 숙련 된 소프트웨어 프로그래머입니다. 하스켈에서 더 나아질 수 있도록 카테고리 이론을 배우고 싶습니다. 하스켈을 이해하기위한 좋은 기초를 제공하기 위해 카테고리 이론의 어떤 주제를 배워야합니까?

4
유한 오토마타를 정규식으로 변환하는 방법?
표준 알고리즘 (예 : Thompson 's algorithm )을 사용하면 정규식을 동일한 언어를 수용하는 (최소) NFA로 쉽게 변환 할 수 있습니다 . 그러나 다른 방향은 더 지루한 것처럼 보이고 때로는 결과 표현이 지저분합니다. NFA를 동등한 정규식으로 변환하기위한 알고리즘은 무엇입니까? 시간 복잡성 또는 결과 크기와 관련하여 장점이 있습니까? 이것은 참조 질문이어야합니다. 방법에 …

6
알려진 NP-Hard 문제를 기반으로하는 암호화 알고리즘이없는 이유는 무엇입니까?
RSA와 같은 오늘날의 암호화의 대부분은 정수 인수 분해에 의존하는데, 이는 NP 하드 문제는 아니지만 BQP에 속하므로 양자 컴퓨터에 취약합니다. 알려진 NP 하드 문제에 기반한 암호화 알고리즘이없는 이유가 궁금합니다. NP-hard로 입증되지 않은 알고리즘보다 더 나은 암호화 알고리즘을 만드는 것처럼 들립니다 (적어도 이론적으로는).

13
“일부 테스트 사례 시도”휴리스틱을 속이는 방법 : 올바르게 보이지만 실제로는 잘못된 알고리즘
어떤 문제에 대한 알고리즘이 올바른지 테스트하기 위해 일반적인 출발점은 여러 간단한 테스트 사례에서 직접 알고리즘을 실행하는 것입니다. 몇 가지 간단한 "코너 사례를 포함하여 몇 가지 예제 인스턴스에서 시도해보십시오. ". 이것은 휴리스틱입니다. 알고리즘에 대한 많은 잘못된 시도를 신속하게 제거하고 알고리즘이 작동하지 않는 이유를 이해하는 데 좋은 방법입니다. 그러나 알고리즘을 학습 할 …

2
BIT : 이진 인덱스 트리의 직관은 무엇이며 어떻게 생각 되었습니까?
이진 색인 트리는 다른 데이터 구조와 비교할 때 문헌이 적거나 거의 없습니다. 그것이 가르치는 유일한 곳 은 topcoder tutorial 입니다. 튜토리얼이 모든 설명에서 완료되었지만 그러한 나무의 직관을 이해할 수 없습니까? 어떻게 발명 되었습니까? 정확성에 대한 실제 증거는 무엇입니까?

5
P = NP를 해결하지 않는 방법?
또는 를 증명하려는 많은 시도가 있으며 , 당연히 많은 사람들이이 두 가지 방향을 증명하기위한 아이디어를 가지고 질문에 대해 생각합니다.P ≠ N PP = N PP=NP\mathsf{P} = \mathsf{NP} P≠NPP≠NP\mathsf{P} \neq \mathsf{NP} 나는 작동하지 않는 것으로 입증 된 접근법이 있으며, 아마도 실패의 역사가있는 접근법이 더 많이 있다는 것을 알고 있습니다. 또한 많은 …

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