ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1.6. Why Study Algorithms?
    번역/Problem Solving with Algorithms and Data 2017. 10. 8. 21:13
    반응형

    이 문서는 영문으로된 내용을 구글 번역기를 활용하여 번역한 내용입니다. 
    개인적인 공부 및 추후 다시 볼 수 있도록 하기 위해 개인 블로그에 번역 내용을 옮겨 놓았습니다.
    원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다. 


    Problem Solving with Algorithms and Data Structures using Python by Bradley N. Miller, David L. Ranum is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License


    컴퓨터 과학자들은 경험에 의해 배웁니다. 우리는 다른 사람들이 문제를 해결하고 스스로 해결함으로써 문제를 해결합니다. 다른 문제 해결 기술에 노출되어 있고 다른 알고리즘이 어떻게 설계되었는지 보는 것은 우리가 주어진 다음 어려운 문제를 해결하는 데 도움이됩니다. 다양한 알고리즘을 고려하여 패턴 인식을 개발하여 다음에 유사한 문제가 발생하면 더 잘 해결할 수 있습니다.

    알고리즘은 종종 서로 상당히 다릅니다. 이전에 본 sqrt 예제를 고려하십시오. 제곱근 함수를 계산하기 위해 세부 사항을 구현하는 많은 다른 방법이 있다는 것은 전적으로 가능합니다. 하나의 알고리즘은 다른 것보다 훨씬 적은 리소스를 사용할 수 있습니다. 한 알고리즘은 결과를 다른 것으로 리턴하기 위해 10 배의 시간이 소요될 수 있습니다. 이 두 가지 솔루션을 비교할 수있는 방법이 필요합니다. 둘 다 작동하더라도 하나는 다른 것보다 "더 좋을"수 있습니다. 우리는 하나가 더 효율적임을 제안하거나 단순히 더 빨리 작동하거나 적은 메모리를 사용하는 것을 제안 할 수 있습니다. 알고리즘을 연구하면서 우리는 프로그램이나 컴퓨터를 구현하는 데 사용 된 컴퓨터의 특성이 아닌 자신의 특성만으로 솔루션을 비교하고 대조 할 수있는 분석 기법을 배울 수 있습니다.

    최악의 경우, 현실적인 시간 내에 문제를 해결할 수있는 알고리즘이 없다는 것을 의미하는 어려운 문제가있을 수 있습니다. 솔루션이있는 문제, 그렇지 않은 문제 및 솔루션이있는 문제를 합리적으로 처리하는 데 너무 많은 시간이나 기타 리소스가 필요한 문제를 구분할 수 있어야합니다.

    우리가 식별하고 결정할 필요가있는 트레이드 오프가 종종 있습니다. 컴퓨터 과학자는 문제 해결 능력 외에도 솔루션 평가 기술을 알고 이해해야합니다. 결국 문제를 해결할 수있는 방법은 많습니다. 해결책을 찾은 다음 그것이 좋은 것인지 결정하는 것은 우리가 반복해서 할 일입니다.

    반응형
Designed by Tistory.