태그 보관물: learning

learning

실제 프로그래머가되기 위해 알고리즘을 배워야합니까? [닫은]

저는 PHP 프로그래머이며 지금까지 알고리즘을 배울 필요가 없었습니다 …

이제 matplotlib를 사용해야하기 때문에 Python (실제 프로그래밍 언어)을 배우기 시작했습니다. 파이썬 알고리즘 책을 읽은 다음 matplotlib와 numpy를 배우는 것이 합리적입니까? 아니면 matplotlib와 numpy로 점프해야합니까?

친애하는,



답변

전혀. 알고리즘을 모른다면 프로그램이 어떻게 작동하는지 이해하는 방법은 무엇입니까?

보다 효율적으로 프로그래밍하고 더 나은 프로그램을 작성할 수 있도록 알고리즘 개발을 이해해야합니다. 시작하기 전에 최소한 제어 흐름 (상태 자동 장치를 통해 가능하지만 항상 필요한 것은 아님)과 같은 개념의 기본 사항과 Big O 표기법 및 성능에 미치는 영향에 대해 알아야합니다.


답변

대답은 예와 아니오입니다. 다른 알고리즘의 작동 방식이나 그 뒤에있는 이론 (컴퓨터 과학자의 역할)에 대한 세부 정보를 알 필요는 없지만 특정 작업을 해결하는 데 사용할 수있는 알고리즘과 같은 기본 사항을 알아야합니다. 주어진 상황에 가장 적합한

당신의 경우에, 당신은 단순히 당신이 언급 한 라이브러리를 사용하기 시작할 수 있습니다. 다른 사람들이 더 쉽게 생활 할 수 있도록 누군가에 의해 만들어졌습니다. 그것을 사용하기 위해 알고리즘을 만들 필요는 없습니다.


답변

예, 한 방법을 다른 방법에 적용하는 방법을 이해하십시오. 이미 작동하는 기존 알고리즘이 많으므로 “바퀴를 재발 명”하고 싶지 않습니다. 그들이 거기에 있는지 모른다면 잠재적으로 약한 솔루션을 발명하는 데 시간을 낭비하고 왜 약한 지 이해하지 못할 것입니다.


답변

프로그래머의 알고리즘은 대장장이의 망치입니다. 물론 대안 없이도 작업을 수행 할 수 있지만 제대로 수행하고 올바르게 수행하려면 필수적입니다.

알고리즘의 장점은 프로그래밍 언어와 무관하므로 이론을 한 번 배우면 어떤 언어로든 구현할 수 있습니다. 다음은 제가 배우기 시작한 좋은 웹 사이트입니다. www.ambesty.com Java를 사용하지만 배울 코드 샘플이 함께 제공됩니다. 데이터 압축 알고리즘과 같은보다 복잡한 알고리즘에 간단한 ADT 및 정렬 알고리즘을 제공합니다. 매우 흥미로운 읽기. 행운을 빕니다


답변

PHP 경험에 따라 한 언어에서 다른 언어로 기본 프로그래밍 개념을 조정할 수있는 단계에 있다면 그렇게하십시오 . 이것은 시간을 보내는 가장 효율적인 방법입니다.

Matplotlib , numpy 및 Python 을 통합하기 위해 수행해야 할 작업을 읽으십시오 . 그런 다음 막히면 계속 더 깊이 다이빙하십시오. 이 주문을 추천합니다

  • 시간이 덜 걸립니다
  • 당신은 아마 당신이에 대해 읽어 모든 알고리즘을 적용하지 않습니다

답변

비즈니스 응용 프로그램을 개발하는 경우 (전용) 목록, 대기열, 정렬, 문자열 검색 등과 같은 기본 사항 만 배우면 용어, 성능에 미치는 영향 및 측정 방법 등을 배울 수 있습니다. 시간을 더 잘 사용하려면 새로운 기술, OO 패턴, 효과적인 데이터베이스 디자인, 앱에 중점을 두어야합니다. 개발 방법론 등!


답변

Ok-이것이 정확히 당신이 의미하는 것은 아니라는 것을 알고 있지만 알고리즘은 이미 알고 있습니다. 정의에 따라 알고리즘의 예로 모든 프로그램을 사용할 수 있습니다.

그러니 두려워하지 마십시오. 기본 알고리즘을 아는 것이 유용하고, 기본 데이터 구조를 아는 것이 더 유용하지만 디자인 “패턴”을 아는 것이 더 좋습니다. 결국 기본 알고리즘과 데이터 구조는 선택한 프레임 워크에서 구현되지만 패턴은 그렇지 않을 것입니다 …