배열 

같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료들의 그룹

인덱스
배열의 요소를 간단히 구별하기 위해 사용하는 번호

C에서 인덱스는 항상 0부터 시작

 

모든 자료형에 대해서 배열로 구성가능

 

구성 형태에 따라 1차원 배열 2차원 배열 3차원 배열이 있음


1차원 배열 

 

 

 

 

 

자료 구조 
컴퓨터가 효율적으로 문제를 처리하기 위해 문제를 정의하고 분석하여

그에 대한 최적의 프로그램을 작성해야하기 때문
자료구조에 대한 개념과 활용 능력 필요

 

자료구조란?

 

자료를 효율적으로 처리할 수 있도록, 표현하고 저장하고 정리하는 것 

자료구조의 형태에 따른 분류

 

  • 단순 구조 
    정수, 실수, 문자, 문자열, 등의 기본 자료형
  • 선형 구조
    자료들 사이의 관계가 1:1 관계
    순차 리스트, 연결 리스트, 스택, 큐, 데크 등
  • 비선형 구조
    자료들 사이의 관계가 1:다, 또는 다:다 관계
    트리, 그래프 등
  • 파일구조
    서로 관련 있는 필드로 구성된 레코드의 집합인 파일에 대한 구조
    순차파일, 색인 파일, 직접 파일 

자료의 표현

컴퓨터에서의 자료 표현과 단위

숫자, 문자, 그림, 소리, 기호 등 모든 형식의 자료를 2진수 코드로 표현하여 저장및 처리

2진수 코드란?

 

1과 0, On과 Off 참(true) 거짓(false)

디지털 시스템에서의 자료 표현 개수 

 

 

자료의 종류

 

수치 자료

문자 자료

논리 자료

포인터 자료

문자열 자료

 

수치 자료의 표현

부호가와 절댓값 형식 가산기와 감산기를 다 사용함

1의 보수 형식 감산기를 사용함

2의 보수형식 간단한 형식 현존하는 컴퓨터는 이것만

 

자료구조란 
자료를 효율적으로 처리할 수 있도록, 표현하고 저장하고 정리하는 것



알고리즘

문제해결 방법을 추상화하여 단계적 절차를 논리적으로 기술해 놓은 명세서

알고리즘의 조건

  • 입력(Input) : 알고리즘 수행에 필요한 자료 외부에서 입력으로 제공될 수 있어야 함
  • 출력(Output) : 알고리즘 수행 후 하나 이상의 결과를 출력해야 함
  • 명확성(Definiteness) : 수행할 작업의 내용과 순서를 나타내는 알고리즘의 명령어들은 명확하게 명세되어야 함
  • 유한성(Finiteness) : 알고리즘은 수행 뒤에 반드시 종료되어야 함 (무한반복되면 안됨)
  • 효과성(Effectiveness) : 알고리즘의 모든 명령어들은 기본적이며 실행이 가능해야 함

알고리즘의 표현 방법

알고리즘의 표현방법

 

  1. 자연어를 이용한 서술적 표현 방법
    사람이 쓰는 자연어(언어)로 표현하는 방법으로 알고리즘을 표현하는데 한계가 있음
  2. 순서도를 이용한 도식화 표현방법
    명령어의 흐름을 쉽게 파악할 수 있지만 복잡한 알고리즘을 표현하는 데는 한계가 있음
  3. 프로그래밍 언어를 이용한 구체화 방법
    알고리즘 자체가 구체적이므로 추가적인 구체화 작업이 필요 없지만 알고리즘을 작성한 특정프로그램 언어를
    모르면 이해하기 어려움
  4. 가상코드를 이용한 추상화 방법
    특정 프로그래밍 언어는 아니지만 프로그래밍 언어의 형태를 갖춘 가상코드를 사용하여 알고리즘을 표현함
    직접 실행할 수는 없지만 형태가 프로그래밍 언어와 유사하기 때문에 원하는 특정 프로그래밍 언어로 
    변환(구체화) 하기가 쉬움

 

순서도를 이용한 도식화

순서도는 특정기호를 상요하여 알고리즘의 실행단계를 표현함 

 

 

 

 

 

+ Recent posts