왜 알고리즘을 공부하는가?
저는 스스로에게 학습 알고리즘이 무슨 소용이 있는지 여러 번 물었습니다.
저는 소프트웨어 학교에 다니면서 C 언어, C++, 데이터 구조, 알고리즘을 배웠습니다. 프로그래밍과 관련된 과목 중에서 알고리즘이 가장 유용하지 않다고 생각합니다. 물론 여기서는 새끼손가락을 사용하는 것이 다음입니다. 일하다. 작업 과정에서 대부분의 경우 알고리즘을 설계할 필요가 없으며, 알고리즘 소개에서 매우 멋진 알고리즘을 적용하는 것은 단지 하나의 모듈을 완성하고 두 개의 모듈을 통합하는 방법, 주로 디자인 패턴과 관점입니다. 객체 지향과 같은 것이 큰 역할을 하고 있으며, 알고리즘은 단순한 데이터 구조를 가져야 하며 어떤 알고리즘도 전혀 필요하지 않을 수도 있습니다. 이는 모듈 구축 프로세스에 더 가깝습니다. .
ACM 주변에는 POJ 10위 안에 드는 멋진 사람들이 있지만, 업무에 있어서는 알고리즘 실력이 업무에 큰 도움이 되지 않는 것 같습니다. 그는 매일 JAVA로 무언가를 작성한 다음 몇 가지 버그를 테스트하고 수정합니다. DP, 탐욕 또는 그래프 이론은 전혀 포함되지 않습니다. 기능이 구현되는 한, 무엇을 사용하든 이런 생각은 존재해야 합니다. 마이크로소프트 아시아연구소처럼 알고리즘 요구사항이 높다고 아무나 갈 수 있는 건 아니다. 일반 회사에 가면 언어를 할 수 있고, 기술을 어느 정도 이해할 수 있고, 프로젝트를 해본 사람이면 기본적으로 갈 수 있다. 인터뷰의 경우 몇 가지 데이터 구조 질문을 한다고 해서 그 자리에서 DP 알고리즘을 작성하거나 아이디어에 대해 이야기하기 위한 ACM 질문이 주어지는 것은 아닙니다. 테스트 팀은 물론 R&D 팀에도 알고리즘이 실제로 필요하지 않습니다.
그렇다면 학습 알고리즘이 무슨 소용이 있나요? 사실 이 질문은 수학을 배우는 것이 어떤 용도인지와 매우 유사합니다. 작업을 마친 후에 적분을 계산하거나 극한을 찾거나 심지어 한 변수의 2차 방정식 시스템을 풀 수 있는 사람은 거의 없습니다. 1년째 근무하고 있는 선배와 대화를 나누면서 그는 데이터 구조, 디자인 패턴, 운영 체제, 영어가 매우 중요하다고 말했습니다. 알고리즘에 관해서는 전혀 언급하지 않았고 당연히 언급하지 않았습니다. 계산법.
사람들에게 생각하도록 가르치는 수학의 개념에 따라 생각한다면 알고리즘도 마찬가지라고 생각합니다. 예를 들어, 조합 수학에도, 이산 수학에도 많은 알고리즘이 있습니다. 이 지식은 활용되지 않는 경우가 많습니다. 활용하더라도 책을 찾아보면 금방 잊혀지곤 합니다. 평범한 프로그래머가 되기 위해 많은 알고리즘을 배울 필요는 없습니다. 훌륭한 프로그래머가 되겠다는 결심을 가진 사람만이 자신의 사고와 능력 향상에 도움이 되는 몇 가지 알고리즘을 배워야 합니다. 프로그래머 그룹에서는 누구나 패턴을 디자인하고 C++/JAVA에 능숙할 수 있지만, 알고리즘에 능숙하다면 확실히 더 잘할 수 있을 것입니다. 당신은 다른 사람들보다 더 많이 알고 있고 그것을 할 수 없습니다.
위 내용은 왜 알고리즘을 공부하는가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux는 서버, 개발 환경 및 임베디드 시스템에 적합합니다. 1. 서버 운영 체제로서 Linux는 안정적이고 효율적이며 종종 고 대전성 애플리케이션을 배포하는 데 사용됩니다. 2. 개발 환경으로서 Linux는 효율적인 명령 줄 도구 및 패키지 관리 시스템을 제공하여 개발 효율성을 향상시킵니다. 3. 임베디드 시스템에서 Linux는 가볍고 사용자 정의 가능하며 자원이 제한된 환경에 적합합니다.

Linux에서 Docker를 사용하면 개발 및 배포 효율성을 향상시킬 수 있습니다. 1. Docker 설치 : 스크립트를 사용하여 Ubuntu에 Docker를 설치하십시오. 2. 설치 확인 : Sudodockerrunhello-World를 실행하십시오. 3. 기본 사용 : Nginx 컨테이너 생성 Dockerrun-Namemy-Nginx-P8080 : 80-Dnginx. 4. 고급 사용 : DockerFile을 사용하여 사용자 정의 이미지를 만들고 빌드 및 실행하십시오. 5. 최적화 및 모범 사례 : 다단계 빌드 및 dockercompose를 사용하여 Dockerfiles를 작성하기위한 모범 사례를 따르십시오.

Apache 80 포트가 점유되면 솔루션은 다음과 같습니다. 포트를 차지하고 닫는 프로세스를 찾으십시오. 방화벽 설정을 확인하여 Apache가 차단되지 않았는지 확인하십시오. 위의 방법이 작동하지 않으면 Apache를 재구성하여 다른 포트를 사용하십시오. Apache 서비스를 다시 시작하십시오.

Apache를 시작하는 단계는 다음과 같습니다. Apache 설치 (명령 : Sudo apt-get Apache2를 설치하거나 공식 웹 사이트에서 다운로드) 시작 apache (linux : sudo systemctl start : windes (선택 사항, Linux : Sudo SystemCtl

Oracle 청취자를 시작하는 단계는 다음과 같습니다. Windows의 리스너 상태 (LSNRCTL 상태 명령 사용)를 확인하고 Linux 및 UNIX의 Oracle Services Manager에서 "TNS 리스너"서비스를 시작하고 LSNRCTL 시작 명령을 사용하여 리스너가 LSNRCTL 명령을 사용하여 리스너가 시작되었음을 확인하십시오.

이 기사에서는 데비안 시스템에서 NGINX 서버의 SSL 성능을 효과적으로 모니터링하는 방법에 대해 설명합니다. NginxOxporter를 사용하여 Nginx 상태 데이터를 프로 메테우스로 내보낸 다음 Grafana를 통해 시각적으로 표시합니다. 1 단계 : nginx 구성 먼저 Nginx 구성 파일에서 stub_status 모듈을 활성화하여 nginx의 상태 정보를 얻어야합니다. nginx 구성 파일에 다음 스 니펫을 추가하십시오 (일반적으로 /etc/nginx/nginx.conf에 있거나 포함 파일에 위치) : location/nginx_status {stub_status

이 기사는 데비안 시스템에서 재활용 빈을 구성하는 두 가지 방법 인 그래픽 인터페이스와 명령 줄을 소개합니다. 방법 1 : Nautilus 그래픽 인터페이스를 사용하여 파일 관리자를 엽니 다. 데스크탑 또는 응용 프로그램 메뉴에서 Nautilus 파일 관리자 (일반적으로 "파일")를 찾아 시작하십시오. Recycle Bin 찾기 : 왼쪽 탐색 표시 줄에서 재활용 빈 폴더를 찾으십시오. 찾을 수없는 경우 검색하려면 "기타 위치"또는 "컴퓨터"를 클릭하십시오. 재활용 빈 속성을 구성하십시오 : "Recycle Bin"을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하십시오. 속성 창에서 다음 설정을 조정할 수 있습니다. 최대 크기 : 재활용 빈에서 사용 가능한 디스크 공간을 제한하십시오. 유지 시간 : 재활용 쓰레기통에서 파일이 자동으로 삭제되기 전에 보존을 설정합니다.

Debian Systems에서 ReadDir 시스템 호출은 디렉토리 내용을 읽는 데 사용됩니다. 성능이 좋지 않은 경우 다음과 같은 최적화 전략을 시도해보십시오. 디렉토리 파일 수를 단순화하십시오. 대규모 디렉토리를 가능한 한 여러 소규모 디렉토리로 나누어 읽기마다 처리 된 항목 수를 줄입니다. 디렉토리 컨텐츠 캐싱 활성화 : 캐시 메커니즘을 구축하고 정기적으로 캐시를 업데이트하거나 디렉토리 컨텐츠가 변경 될 때 캐시를 업데이트하며 readDir로 자주 호출을 줄입니다. 메모리 캐시 (예 : Memcached 또는 Redis) 또는 로컬 캐시 (예 : 파일 또는 데이터베이스)를 고려할 수 있습니다. 효율적인 데이터 구조 채택 : 디렉토리 트래버스를 직접 구현하는 경우 디렉토리 정보를 저장하고 액세스하기 위해보다 효율적인 데이터 구조 (예 : 선형 검색 대신 해시 테이블)를 선택하십시오.
