Algorithms(알고리즘)

2011. 1. 7. 16:29·Algorithms/Eff, Anal, and Order

Algorithms


Definition

Applying a technique to a problem results in a step-by-step procedure for solving the problem. This step-by-step procedure is called an algorithm for the problem.

 

Objectives

The purpose of studying these techniques and their applications is so that, when confronted with a new problem, you have a repertoire of techniques to consider as possible ways to solve the problem. Technique is not a programming style or a programming language, but the approach or methodology used to solve a problem. In addition, we will be concerned not only with determining whether a problem can be solved using a given technique but also with analyzing how efficient the resulting algorithm is in terms of time and storage.

 

👉 알고리즘이란 문제를 해결하기 위한 일련의 절차적인 과정이다. 
알고리즘 학습의 목적은 새로운 문제에 직면했을 때, 문제를 해결할 수 있는 방법으로 고려해야 할 기술의 레퍼토리를 가지기 위함이다. 여기서 기술이란 프로그래밍 스타일이나 프로그래밍 언어가 아니라 문제를 해결하는 데 사용되는 접근 방식이나 방법론을 의미한다.
주어진 기술을 사용하여 문제해결의 가능여부를 결정해야 하며, 알고리즘의 결과가 시간 및 스토리지면에서 얼마나 효율적인지 분석해야 한다.

 

Reference Books

Foundations of Algorithms 4th Edition by Richard Neapolitan (Author)

 

 

 

The Importance of Developing Efficient Algorithms


Regardless of how fast computers become or how cheap memory gets, efficiency will remain an important consideration. Next we show why this is so by comparing two algorithms for the same problem.

Array Size Number of Comparisons by Sequential Search Number of Comparisons by Binary Search
128 128 8
1,024 1,024 11
1,048,576 1,048,576 21
4,294,967,296 4,294,967,296 33

 

Binary Search does only 33 comparisons, whereas Sequential Search compares x with all 4 billion items. Even if the computer was capable of completing one pass through the while loop in a nanosecond, Sequential Search would take 4 seconds to determination almost instantaneously. This difference would be significant in an online application or if we needed to search for many items.

 

👉 컴퓨터가 얼마나 빨라지거나 메모리가 얼마나 저렴한지에 관계없이 알고리즘의 효율성은 여전히 중요한 고려사항이다.
목푯값을 탐색하는 데 있어 Binary Search는 33번의 비교연산이면 충분하지만, Sequential Search는 40억개의 배열항목과 모두 비교해야 한다. 이 차이는 온라인 응용프로그램이나 많은 항목을 검색해야 할 때 중대한 사항이다.

'Algorithms > Eff, Anal, and Order' 카테고리의 다른 글

Order(차수)  (0) 2011.01.13
Analysis of Algorithms(알고리즘 분석)  (0) 2011.01.12
'Algorithms/Eff, Anal, and Order' 카테고리의 다른 글
  • Order(차수)
  • Analysis of Algorithms(알고리즘 분석)
Zakarum
Zakarum
  • Zakarum
    Zakr. _archives
    Zakarum
  • 전체
    오늘
    어제
    • Zakarum
      • Cogito, ergo sum
      • Algorithms
        • Eff, Anal, and Order
        • Divide-and-Conquer
        • Dynamic Programming
        • The Greedy Approach
        • Backtracking
        • Branch-and-Bound
      • Et Cetera
        • Job-seeking
      • Not Public
        • MBA
        • Finance
        • 2.3. Civil•Commercial Law
        • 2.2. Credit Analysis (Basic..
        • 2.4. Foreign Exchange
        • 2.1. Accounting Principles ..
        • ITSM
        • Theory of NP
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    p-np problem
    대만여행
    최소신장트리
    분기한정법
    신용분석기초
    회계원리기초2
    백트래킹
    미국여행
    SNU MBA
    동적계획법
    외국환
    민상법기초1
    회계원리기초1
    베트남여행
    자바스크립트
    알고리즘
    재무회계
    금융IT 채용정보
    os concept
    소프트웨어공학
    민상법기초3
    네트워크
    process scheduling
    ITIL
    process management
    이탈리아여행
    탐욕 알고리즘
    분할정복법
    0-1 배낭 문제
    일본여행
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Zakarum
Algorithms(알고리즘)
상단으로

티스토리툴바