알고리즘이 뭔지 아세요?
3636 단어 algorithmsprogrammingbeginners
우리는 알고리즘을 어떤 임무를 수행하는 일련의 절차로 정의할 수 있다.
그래, 그게 무슨 뜻이야?
예를 들어 우리는 하나의 알고리즘이 일련의 동작이라고 말할 수 있다. 운전, 요리, 네가 가장 좋아하는 텔레비전 프로그램을 보는 등이다.
만약 이 개념이 너에게 여전히 추상적이라면 걱정하지 마라.
우리가 더 잘 이해할 수 있도록 다음 예를 들자.
너는 네가 인터넷 브라우저를 켜서 네가 가장 좋아하는 텔레비전 프로그램을 시작하는 순간까지 네가 한 일련의 동작을 생각해 본 적이 있니?
다음은 당신의 머릿속에 번쩍일 수 있는 예입니다.
1 - 브라우저 열기;
2-넷플릭스의 인터넷 주소;
3. 키보드의 리턴 버튼을 누르기;
4-당신의 이메일과 비밀번호를 입력하기;
5 - 개인 정보 선택하기;
6 - 텔레비전 프로그램인 을 선택한다.
7. - 이번 회 보기;
너는 이미 이 예가 내가 전에 말한 알고리즘의 정의를 어떻게 따르는지 알아차렸니?
우리는 '일련의 절차' (브라우저를 열고 전자메일과 비밀번호를 입력하는 것 등) 를 실행하는데, 목표는 일부 임무 (《 스타크래프트 》 의 한 편을 보는 것) 를 수행하는 것이다.
너무 좋아요, 그렇죠?
그러나 우리가 그것을 이야기할 때, 우리는 이 정의를 더욱 정확하게 사용할 수 있다.조금만 개선하면 우리가 말한 주제의 선명도를 높일 수 있다.
그렇다면 알고리즘의 이 개념을 살펴보자.
알고리즘은 유한한 시간 내에 계산 문제를 해결하는 유한한 지령이나 조작 서열이다.
우리가 어떻게 용어인 '단계 서열' 을 '유한 지령 또는 조작 서열' 과 '일부 임무 수행' 으로 바꾸어 '계산 문제 해결' 을 하는지 봅시다.
그래서 여기서 우리는 시간 변수에 대해 신중함을 유지하고 목표는 명확한 계산 문제를 해결하는 것이다.
앞서 설명한 바와 같이 이 컴퓨팅 환경에서는 위조 코드 형식을 사용합니다.
대상:
존이 우리의 친구 명단에 있는지 없는지를 우리에게 말해라.
위조 코드:
Name=현재 검사 중인 친구의 이름
친구 리스트에 있는 모든 친구들에게
Name="John"이 올바른지 확인합니다.
Name="John"의 경우 "John을 찾습니다!"를 인쇄합니다.
하면, 만약, 만약...존, 다음 친구를 비교해 보자.
목록의 모든 이름이 "John"과 다르면 "John은 목록에 없습니다."
자, 이제 다음 친구로 이 알고리즘을 테스트해 봅시다.
['줄리아','존','마쿠스']
먼저 Name="Julia"를 설정합니다.
그리고'줄리아'와'존'을 비교한다.
다르니까 다음 친구를 검사해 봐.
먼저 Name="John"을 설정합니다.
그리고'존'과'존'을 비교한다.
평등하다!그래서 위에'존을 찾아라!'라고 쓰여 있다.
됐어, 시작했어!
이제 다른 친구들과 함께 시도해 봅시다. 하지만 이번에는 존이 목록에 없습니다.
["코크", "맥코이", "스포크"]
먼저 Name="Kirk"를 설정합니다.
그리고'코크'와'존'을 비교한다.
다르니까 다음 친구를 검사해 봐.
먼저 Name="McCoy"를 설정합니다.
그런 다음 McCoy와 John을 비교합니다.
다르니까 다음 친구를 검사해 봐.
먼저 Name="Spock"을 설정합니다.
그리고'스포크'와'존'을 비교한다.
다르니까 다음 친구를 검사해 봐.
친구가 없어서 존은 명단에 없다.
자, 다시 한 번!아주 좋아요, 그렇죠?
이 알고리즘은 선형 행위를 가지고 있어 효율이 높지 않다(앞으로 며칠 동안 더 많은 내용이 있을 것이다).
하지만, 분명히 이것은 그의 일이다.이 예에서는 John이 목록에 포함되었는지 확인하는 계산 문제를 해결합니다.
비록 입력이 매우 크면 컴퓨터가 해석할 수 없을 수도 있다.
이 점을 테스트하기 위해서, 우리는 컴퓨터 프로그래밍 언어를 사용하여 이 알고리즘을 복제하고 테스트할 것이다.만 개의 단어를 사용한 목록.그들은 모두 존이 아니다.따라서, 우리는 우리의 알고리즘이 "John은 목록에 없습니다."라는 말을 출력하기를 희망합니다.
나는 PHP 프로그래밍 언어를 사용할 것이다.이것은 매우 사용하기 쉬운 언어다.단, 이 알고리즘을 원하는 프로그래밍 언어로 복사하고 조정할 수 있습니다.
다음은 저희 코드입니다.
<?php
$names = array_fill(0, 10000, "Spock");
if (in_array("John", $names)) {
print_r("Found John!");
} else {
print_r("John is not in the list");
}
첫 번째 줄에서 변수 이름'names' 를 만들었습니다.이것은 하나의 수조이다.10000개의 요소를 포함합니다.각 요소에는 문자열 "Spock"과 같은 값이 있습니다.두 번째 행에서는 "In array"라는 PHP 함수를 사용했습니다.이것은 그룹 (우리case$names) 에서 값을 검색하는 것입니다. (우리case "John")
만약에 수조의 함수가 진짜 값을 되돌려준다면, 이것은 이름 목록에서 John을 찾았다는 것을 의미합니다. 그러면 코드는 문자열을 출력합니다. "John을 찾았다!"
반대로 "John 은 목록에 없습니다"문자열을 인쇄합니다.
일단 우리가 이 코드를 실행하면 우리는 다음과 같은 출력을 얻을 수 있다.
John is not in the list%
좋아요!이 코드를 문자열이 포함된 목록으로 테스트하면 John:<?php
$names = ["Julia", "John", "Marcus"];
if (in_array("John", $names)) {
print_r("Found John!");
} else {
print_r("John is not in the list");
}
다음과 같은 출력을 받았습니다.Found John!%
이렇게!우리는 입력의 수량을 바꾸는 것이 우리의 알고리즘의 행동을 바꾸지 않는다는 것을 관찰할 수 있다.여전히 우리의 계산 문제를 해결하고 있다.
알고리즘에 관해서는 소개할 내용이 많지만, 이것은 우리의 첫걸음일 뿐이다!
적어도 우리는 이 개념을 이해한다고 말할 수 있다.
Reference
이 문제에 관하여(알고리즘이 뭔지 아세요?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/leonnimoy/do-you-know-what-an-algorithm-is-2d89텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)