LetMeLove 의 세상보기

  • 표지
  • 지역로그
  • 태그
  • 방명록

'자료구조'에 해당되는 글 1건

  1. 2006/12/23 LetMeLove 자료구조 및 알고리즘

자료구조 및 알고리즘

공부좀 합시다/기타 2006/12/23 10:31 LetMeLove
## 자료 구조와 알고리즘

1. 자료구조와 알고리즘 컴퓨터를 이용하여 어떤 문제를 해결할 때 가장 필수적으로 요구되는 것이 자료 구조와 알고리즘에 대한 이해이다.

좋은 자료구조는 문제를 정확하게 표현하고 효율적으로 다룰수 있도록 데이터를 잘 조직해 놓은 것이며,

좋은 알고리즘은 문제를 가장 빠른 시간에 풀 수 있도록 하는 방법이다. 좋은 알고리즘은 좋은 자료구조를 바탕으로 한다.



1.1 선형 자료구조 저장하고자 하는 데이터들 사이의 관계가 어떤 기준으로 그 크기 순서대로 하나씩 나열할 수 있는 구조이다.

즉 데이터들 간에 순서를 정할 수 있는 자료구조이다. 대표적인 것으로 배열, 선형 리스트가 있고 이들을 이용한 스택, 큐와 같은 자료 구조가 있다.

1.2 비선형 자료구조 저장하고자 하는 데이터들을 모두 순서를 정할 수는 없는 자료구조이다.

대표적인 것으로 그래프가 있으며 그래프의 일종인 트리가 일반적으로 많이 사용되는 자료구조이다.


2. 알고리즘 알고리즘이란 무엇인가?

알고리즘이란 컴퓨터로 계산을 하기 이전 부터 존재하였던 계산 방식이라 말할 수 있는데

현대에 와서는 어떤 문제를 해결함에 있어 컴퓨터를 이용한 계산 시에 사용하는 방법론을 일반적으로 알고리즘이라 한다.

그림 1에서는 컴퓨터 프로그래밍과 자료 구조, 그리고 알고리즘과의 관계를 설명하고 있다. 알고리즘이란 특정한 일을 해결/수행하는 유한 명령어의 집합으로 다음 조건을 만족한다.

1) 입 력 : 외부에서 제공되는 자료가 0개 이상 있다.

2) 출 력 : 적어도 하나 이상의 결과를 생성한다.

3) 명확성 : 애매모호해서는 안된다.

4) 유한성 : 반드시 종료해야 한다.

5) 유효성 : 수행 가능해야 한다.



일상 생활에서도 알고리즘을 많이들 사용하고 있는데 다음의 예에서 살펴보도록 하자.

두수 a와 b의 곱을 구하는 경우를 생각해 보면 그 해답을 구하는 방법은 두가장 경우가 가능하다.

첫 째는 a와 b를 곱하기 연산을 통해서 그 해답을 바로 구하는 것이고, 둘째는 a를 b번 더해서 그 답을 구하는 것이다.

물론 곱하기 연산 자체가 더하기 연산의 반복적인 것으로 정의가 가능하기 때문에 위의 같은 두 가지 경우를 고려할 수 있는 것이다.

생각해 볼 수 있는 것은 어떤 문제가 주어졌을 때 어떤문제가 주어졌을때 어떠한 방법으로 해결하면 더 효율적이냐는 것을 생각해볼수 있다.

이때 좀 더 효율적인 방법을 찾는 것이 알고리즘을 공부하는 이유가 되는 것이다.


출처 : www.koiz.net
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
2006/12/23 10:31 2006/12/23 10:31
TAG 알고리즘, 자료구조
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://letmelove.net/blog/rss/response/14

트랙백 주소 :: http://letmelove.net/blog/trackback/14

트랙백 RSS :: http://letmelove.net/blog/rss/trackback/14

댓글을 달아 주세요

댓글 RSS 주소 : http://letmelove.net/blog/rss/comment/14
[로그인][오픈아이디란?]

◀ 이전페이지 1 다음페이지 ▶

블로그 이미지
살아 있다는건.. 끊임없는 처음과의 만남 LetMeLove
  • 광고 목적의 댓글 및 트...
  • 관리자
  • 글쓰기

달력

«   2012/05   »
일 월 화 수 목 금 토
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

카테고리

  • 전체 (99)
    • 전체 (0)
    • 사진으로 보는세상 (9)
    • 세상사는 이야기 (8)
    • 공부좀 합시다 (51)
      • Html/Css (3)
      • PHP (8)
      • JAVA/JSP (4)
      • JavaScript (5)
      • MySQL (7)
      • Oracle (1)
      • Linux / Unix (18)
      • Ajax / Flax (0)
      • 기타 (5)
    • 취미생활 (16)
      • 애니메이션 (10)
      • 기타 (6)
    • IT 트랜드 (15)
      • 뉴스 (12)
      • 리뷰 (3)

태그목록

  • j2me
  • pasv
  • ME
  • 우동 한 그릇
  • 카린
  • 우타와레루모노
  • ini_set()
  • 수신거부
  • POPUP
  • ORM
  • 네임서버
  • shell
  • 하이텔
  • IE6
  • 휴가
  • apache2
  • ajax
  • 공각기동대
  • 접속지연
  • MYSQL5
  • tomcat
  • 트랙백
  • Disk
  • j2se
  • vista
  • ActiveRecord
  • Zend Engine
  • 칭송받는 자
  • 아파치
  • 금연

최근에 올라온 글

  • Centos6 에서 외부로 라우....
  • 아파치+톰켓*2 사용시 도....
  • SSH 접속시 지연현상 해결.... (1)
  • PHP ORM - ADODB Acvite R.... (1)
  • PHP ORM Propel 윈도우 설치.

최근에 달린 댓글

  • 대단히 감사합니다! 아주 좋.... Louis vuitton handbags 05/19
  • 대단히 감사합니다! 아주 좋.... Breitling replica 05/18
  • 무작정 max_connection 만 늘.... LetMeLove 03/20
  • 집에서 연습하고 있는데 RHEL.... 캄사 ㅠㅠ 2011
  • 감사합니다~. 감사 2011

최근에 받은 트랙백

  • spaceufo의 생각. spaceufo's me2DAY 2008
  • activeX의 문제점... b o g n i 2007

링크

  • Flex / Air 한글화문서.
  • MSDN.
  • MySQL.
  • NetCraft.
  • NewType Korea 이글루지부.
  • NHN UI Dev.
  • ORACLE.
  • PHP.
  • PHP SCHOOL.
  • PrimitiveStudio.
  • SourceForge.
Textcube
Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
  • Total : 207865
  • Today : 67
  • Yesterday : 65

지역로그 : 태그 : 방명록 : 관리자 : 글쓰기
LetMeLove’s Blog is powered by Textcube 1.6.1 : Arpeggio / Designed by plyfly.net