자바스크립트 알고리즘을 더 잘하는 방법

쓰기 알고리즘을 배우는 방법

쓰기 알고리즘은 가장 숙련된 개발자에게도 압도적일 수 있습니다. 그들 중 많은 사람들이 특정 문제에 대한 다양한 접근 방식을 모두 암기합니다. 하지만 문제를 해결하기 위해 문제를 살펴보는 방법에 대한 안내 다이어그램을 보면 어떨까요?

이 문서에서는 알고리즘이 무엇인지, 무엇을 위해 리소스를 사용하는지 살펴봅니다. 알고리즘 작성 학습을 시작하는 방법.

알고리즘이란 무엇입니까?

알고리즘은 일련의 명령입니다. 알고리즘을 레시피와 비교하면 알고리즘이 어떻게 생겼는지 알 수 있습니다.

<입력 유형 = "숨겨진" 이름 = "ck_campaign" 값 = "ft-express-wgt-blog"> <입력 유형 = "숨겨진" 이름 = " 흐름" 값 = "sft"> <버튼 유형 = "제출" id = "제출4" 클래스 = "btn btn-success btn-block 버튼-ajax-form" 스타일 = "배경 색상: # ff9d38 ! 중요한; 테두리 색상: # ff9d38 ; 불투명도: 1; 화이트 색상; 너비: 100%; 글꼴 두께: 굵게; 글꼴 크기: 13px; "> 경기 받기 <스크립트 유형 = "텍스트 / 자바스크립트"> 제이쿼리(`# contactForm2`). submit (function(event) {var phone = jQuery(`# msg_phone`).val(); phone = phone.replace(// $ /, ``) .replace(`+ (`, ``) .replace( `) +`, ``) .replace (``, ``) .replace (`+ -`, ``) .replace (`-`, ``) .replace (`(`, ``) .replace (`)`, ``) .replace(`.`, ``), 전화 = 전화.대체(``, ``), 전화 = 전화. 바꾸기(``, ``), var otherphone = 전화. 부분 문자열(2); if (otherp hone.split (``) .e very (char => char === otherphone [0])) {jQuery (`# error_phone`).show (); 반환 false ;} else {var phoneField = jQuery(`# msg_phone`); phoneField.removeAttr("최대 길이"); phoneField.removeAttr("스키마"); phoneField.val(전화); 반환 true;}})

버거 레시피

준비 시간: 10분

입력:

재료[] - 이름 기사의 수량 필요를 포함하는 기사 목록 em>

예: [{name: " 쇠고기, 85/15 ", 수량: "2 lb" }, {이름 : "아메리칸 치즈, 수량:" 8 조각 "} 등]

길찾기 [] - 버거를 끝내고 배고픈 사람에게 선물하는 단계를 설명하는 문자열 목록

예: ["고기를 버리고 8등분 하십시오 ‚"" 단면을 동그랗게 하십시오 ‚"" 각 공을 원반 모양으로 납작하게 하십시오. 원반의 크기는 모두 같아야 합니다 "등]

수량: 8인분


An 알고리즘은 코드로 작성될 때 최소한 하나의 프로그래밍 언어와 인기 있는 방법, 데이터 구조 및 사용 방법을 알고 있다고 가정합니다. 이 개념은 레시피에서 특정 요리 방법과 주방 액세서리 사용법을 알고 있다고 가정하는 것과 유사합니다.

알고리즘에는 입력과 출력이 있습니다. 결과(해상도 큰 문제)는 그 과정에서 작은 문제를 해결하는 데서 나옵니다.

알고리즘이란 무엇입니까?

알고리즘은 문제를 해결하기 때문에 모든 곳에서 사용됩니다. 컴퓨터 및 웹 개발 컴퓨터에 작업을 지시하는 코드를 작성할 때 사용됩니다.

예를 들어 이름 목록이 있는 경우 버블 정렬 이름을 이름 또는 성을 기준으로 정렬합니다. 또한 이진 검색 알고리즘을 사용하여 동일한 목록에서 이름을 검색할 수도 있습니다. 이는 활용할 수 있는 표준 알고리즘의 일부일 뿐입니다.

과정을 마친 후에는 알고리즘 작성 학습이 완전히 끝난 것이 아닙니다. 점점 더 나아질 뿐입니다. 다음 섹션에서 알고리즘 작성에 더 가까워지는 방법을 살펴보겠습니다.

알고리즘 작성 방법을 배우는 방법: 단계별

다음은 알고리즘 작성 방법을 배우는 데 권장되는 단계별 도움말입니다.

1. 자세히 알아보기 프로그래밍 언어
Java, JavaScript 및 Python은 모두 인기 있는 언어입니다. 컴퓨터 알고리즘을 작성하는 데 사용됩니다. 언어를 선택하고 완전히 배우십시오.

선택한 언어에 대한 이해에 다음 개념을 통합하십시오.

2. 데이터 구조

알고리즘을 보다 효율적으로 만들려면 데이터 구조에 대해 능숙해야 합니다. 각 데이터 구조가 무엇을 위한 것이며 어떻게 작동하는지 확인하십시오.

3. 작성 알고리즘: 문제 해결 과정

기본 프로그래밍 언어와 시작하기에 충분한 데이터 구조를 배웠습니다. 축하합니다 ! 시작하십시오.

작게 시작하십시오. 문제 해결에 대한 George Pòlya 논문의 네 가지 개념을 이해하는 것이 중요합니다( 리소스 . 여기에도 일반적인 접근 방식을 분석하기 위한 몇 가지 단계가 추가되었습니다.

George Pòlya`s 문제 해결 가이드

  1. 문제 이해하기
  2. 무엇을 찾고 계십니까?
  3. 문제를 가져와 설명 자신의 말로 - 기술적으로 좋지 않다는 것을 누군가에게 설명하십시오.
  4. 기본 계획을 수립하는 데 도움이 되는 문제 키워드를 입력하세요. 코드가 없습니다. 답변을 얻는 데 필요한 단계만 있으면 됩니다.
  5. 기본 계획을 세우는 데 도움이 되는 문제 키워드를 입력하세요. li>
  6. 이 계획을 반복하여 코드 솔루션을 생성합니다.
    1. 솔루션을 찾을 수 없으면 n단계로 돌아가서 문제를 이해했는지 확인합니다. 올바른 출력을 반환하고 있습니까? 인코딩 프롬프트에서 놓친 것이 있습니까?
  7. 귀하의 솔루션에 대한 Big O 등급은 무엇입니까? 공간 복잡성 또는 시간 복잡도 ?

4. 작게 시작

문자열이나 배열을 반복하여 항목을 찾는 기본 검색 알고리즘으로 시작합니다. 항목을 찾을 수 없으면 false를 반환합니다. 찾으면 true를 반환합니다.

초보자 알고리즘을 개발하고 다른 데이터 구조를 사용하여 다른 사람들이 다른 프로세스를 필요로 할 수 있는지 확인하십시오. 보다 효율적인 검색 알고리즘을 사용하려면 항목을 정렬해 보십시오.

사이트를 사용하여 리소스 섹션에 나열된 것과 같은 알고리즘을 연습하여 기술을 향상시키십시오.

5. 더 어려운 알고리즘으로 전환

strong>

여러 번의 반복 후에 더 어려운 알고리즘으로 전환할 수 있습니다. 이 시점에서 버블 정렬 및 병합 정렬을 비롯한 일부 정렬 알고리즘을 다시 만들 수 있어야 합니다. 바이너리 연구는 또한 일상적인 프로그래밍 경험의 일부여야 합니다.

기술을 향상시키기 위해 알고리즘을 연습하기 위해 사이트를 계속 사용하십시오. 약간 더 어려운 레이블이 붙은 문제로 자신을 테스트해 보세요.

알고리즘에 대한 최고의 과정 및 교육

모든 사람은 조금씩 다르게 배웁니다. 다음은 사용 가능한 최고의 알고리즘 과정 및 교육입니다. 일부는 유료이지만 무료도 있습니다. 이 목록은 특별한 순서가 없습니다.

온라인 알고리즘 과정

온라인에서 이용할 수 있는 최고의 알고리즘 과정은 다음과 같습니다.

알고리즘 전문, Stanford University

Stanford 대학의 Tim Roughgarden 교수는 Coursera에서 알고리즘의 대학원 과정을 가르치고 있습니다. 이 과정은 기술 면접을 잘 볼 수 있도록 알고리즘을 잘 이해하는 데 필요한 거의 모든 것을 다룹니다.

알고리즘, IIT 봄베이

이 과정은 IIT 봄베이 기초 컴퓨터 과학 XSeries 프로그램의 일부입니다. 여기에서 다루는 주제에는 정렬 및 검색, 숫자 알고리즘, 문자열 알고리즘, 기하학적 알고리즘 및 그래픽 알고리즘이 포함됩니다.

알고리즘에 대한 무료 과정

알고리즘 소개

Udacity의 Michael Littman이 제공하는 알고리즘에 대한 무료 단기 집중 과정입니다. Kevin Bacon 현상의 6단계를 사용하여 알고리즘이 작동하는 방식을 보여줍니다. 6단계 분리에 대해 생각해 보십시오. 모두 서로 떨어져 있는 6개 이하의 사회적 유대라고 합니다. Kevin Bacon의 영화와 배우와 동일한 개념을 사용합니다.

FreeCodeCamp, 기본 알고리즘 스크립트

이 FreeCodeCamp 연습 시리즈는 어려운 문제로 넘어가기 전에 작은 문제를 해결함으로써 성공하는 데 도움이 됩니다. 자율 학습은 FreeCodeCamp 학습 플랫폼을 사용하여 코드를 테스트합니다.

알고리즘에 대한 시각적 소개

  • 교육적
  • 주로 텍스트와 예제를 기반으로 한 자율 학습
  • 선수 요건: JavaScript, Python, C ++ 또는 Java
  • 무료

이 무료 과정에서는 시각 및 비디오 보조 자료를 사용하여 알고리즘이 작동하는 방식을 설명합니다. 통합 코드 환경은 사용자 경험을 상당히 좋게 만듭니다. 잠재적인 솔루션이 포함되어 있습니다.

Algorithm Books

더 나은 알고리즘 작성자가 되기 위한 여정에 도움이 되는 여러 책이 있습니다. 이들 중 대부분은 지역 서점과 아마존에서 구할 수 있습니다.

`그로킹 알고리즘`

` 프로그래머와 호기심이 많은 사람을 위한 그림 가이드 `

저: Aditya Bhargava

커버 Grokking 알고리즘

Grokking Algorithms는 인쇄 알고리즘에 대한 최고의 책 중 하나입니다. 아티스트에서 소프트웨어 개발자로 전환한 Bhargava는 알고리즘을 직관적으로 이해하거나 사용하는 데 도움이 되는 일러스트레이션 접근 방식을 사용합니다. 각 장의 끝에 있는 연습 문제는 책의 내용을 통합하는 데 도움이 됩니다.

`간단한 알고리즘 , 2판. `

` 실용적인 가이드 `

작성 George T. Heineman, Gary inch, Stanley Selkow

알고리즘을 간략 커버

이 책은 모델 기반 접근 방식을 사용하여 채굴된 알고리즘을 구현해야 하는 경우를 배웁니다. 솔루션을 코딩하는 방법을 배우고 고급 데이터 구조를 사용하여 솔루션을 개선합니다. 솔루션은 Ruby, Java, C ++ 및 C로 되어 있지만 선호하는 언어로 쉽게 번역됩니다.

`알고리즘, 4판. `

작성: Robert Sedgwick 및 Kevin Wayne

알고리즘 4 판 커버

Sedgewick 및 Wayne 알고리즘의 네 번째 버전은 알고리즘 세계에 대한 환상적인 소개입니다. 저자는 당신의 주목을 끌기 위해 50개 이상의 가장 중요한 알고리즘을 검토합니다.Princeton 교육자는 온라인 를 개발했습니다. 이 텍스트를 잘 보완하는 과정 .

리소스

자바스크립트 알고리즘을 더 잘하는 방법 JavaScript: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method