ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 01. 자료구조 개요
    개발입문/자료구조 2017. 7. 3. 12:27

    <자바로 배우는 쉬운 자료구조> 

    쉽고 명확한 설명, 구체적인 구현 사례로 배우는 자료구조의 핵심

    위 개념서를 대단원별로 요약정리한 것입니다. :) 






    01. 자료구조 개요

    다양한 자료를 효율적으로 표현해 저장하고 처리하여 사용할 수 있도록 하는 것이 자료구조다.

    자료를 컴퓨터 상에 표현하는 방법과 표현한 자료를 효율적으로 저장하고 처리할 수 있는 논리적인 구조, 그에 대한 프로그램적인 처리 방법을 위해 사용하는 것이 자료구조다.


    컴퓨터가 효율적으로 자료를 처리하려면 문제를 자료구조 측면에서 분석하고 구성하여 더 좋은 프로그램으로 작성해야 한다.

    ... 자료구조에 대한 개념과 활용능력을 갖추고 있어야 한다.


    자료구조 활용

    문제해결 단계 중 자료를 저장, 활용하는 단계


    문제 정의


    처리방식 결정, 알고리즘 작성

    처리대상 결정, 자료 정의

    프로그램 작성


    프로그램 번역 및 실행

    실행결과


    문제해답

    의사결정




    자료구조의 분류

    표현하고자 하는 자료의 특성과 양, 자료의 주된 사용 방법과 수행하는 연산의 종류, 구현에 필요한 기억 공간 용량을 고려하여 가장 효율적인 자료구조를 선택해야 한다.

    단순구조, 선형구조, 비선형구조, 파일구조가 있다.











    자료의 표현

    수치자료, 문자자료, 논리자료, 포인터자료, 문자열자료



    1. 수치자료

    2진수 Binary : 1 or 0

    bit 자료를 표현하는 최소 단위

    최상위 비트인 첫번째 1bit는 부호를 나타낸다. 0 +부호 / 1 -부호

    나머지 n-1 비트는 2진수 값을 표현하기 위해 사용한다.


    10진수 Zone 형식

    10진수의 자릿수만큼 존 형식 1byte 를 연결하여 사용하고,

    부호는 최하위 바이트의 존 영역에 나타낸다.

    - Zone 영역 (4bit) + 수치영역 (4bit): 0 ~ F(15)

    - Zone 영역 1111 기본 / 1100 +부호 / 1101 -부호


    10진수 Pack 형식

    1byte 에 10진수 두 자리를 표현하고,

    최하위 바이트의 하위 4bit 에 부호를 표시한다.


    2진수의 정수표현

    부호절대값, 1의 보수 형식, 2의 보수 형식

    양수에 대한 표현은 세 방법이 모두 같고, 음수에 대한 표현에만 차이가 있다.


     10진수

     부호절대값

     1의 보수 형식 

     2의 보수 형식 

     +21

     00010101 

     00010101 

     00010101

     -21 

     10010101

     11101010 

     11101011 


    2진수의 실수 표현

    부동소수점 표현형식이 고정소수점 표현형식보다 나타낼 수 있는 값의 범위가 크고, 아주 작은값이나 아주 큰 값을 표현할 수 있다.

    - 고정소수점 00010101 = 0.00010101

    - 부동소수점 213 = 0.213 X 10^3



    2. 문자자료

    BCD 코드 (6bit)

    존비트 (2bit) + 숫자비트 (4bit)

    0~9 숫자, 영어 대문자, 특수문자


    EBCDIC 코드 (8bit)

    존비트 (2 + 2bit) + 숫자비트 (4bit)

    0~9 숫자, 영어 대문자, 소문자, 특수문자


    ASCII 코드 (7bit + 1bit )

    존비트 (3bit) + 숫자비트 (4bit)

    0~9 숫자, 영어 대문자, 소문자, 특수문자


    유니코드 (16bit)

    나라별 언어를 모두 표현하기 위해 정의한 코드

    4자리의 16진수로 표시 : 0 1 2 3 4 5 6 7 8 9 A B C D E F

    상위 16진수 (12bit) + 하위 16진수 (4bit)



    3. 논리자료

    논리값을 표현하기 위한 자료 형식

    True or False (1bit)

    1 참 / 0 거짓 (default)



    4. 포인터(참조) 자료

    포인터 자료는 메모리의 주소를 표현하고 사용하기 위한 자료 형식

    자료를 저장하고 있는 변수나 특정 위치에 대한 메모리 상의 주소를 저장하고 주소 연산에 사용한다.



    5. 문자열 자료 String

    여러 문자로 이루어진 문자의 그룹을 하나의 자료로 취급하여 메모리 상에 연속적으로 저장하는 자료 형식

    - 부분문자열 사이에 구분자를 두고 연속 저장하는 방법

    - 가장 긴 부분문자열의 길이에 맞춰 고정길이로 연속 저장하는 방법

    - 부분문자열을 연속저장하고, 각 부분문자열에 대한 포인터를 사용하는 방법 (주소연산)




    연습문제 정답

    http://mindpasta.com/minds/?mind=JAVA%EC%9E%90%EB%B0%94%EB%A1%9C%EB%B0%B0%EC%9A%B0%EB%8A%94%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0ch1-12%EC%9E%A5,James&thinker=a0708

    댓글

Designed by Tistory.