목록자료구조 (9)
브래의 슬기로운 코딩 생활
순차 자료구조와 선형 리스트의 이해 순차 자료구조의 개념 - 구현할 자료들을 논리적 순서로 메모리에 연속 저장하는 구현 방식 - 논리적인 순서와 물리적인 순서가 항상 일치해야 함 - C 프로그래밍에서 순차 자료구조의 구현 방식 제공하는 프로그램 기법은 배열 선형 리스트의 표현 리스트 : 자료를 구조화하는 가장 기본적인 방법은 나열하는 것 선형 리스트 Linear List 순서 리스트 Ordered List - 자료들 간에 순서(Order)를 갖는 리스트 리스트의 표현 형식 선형 리스트의 저장 순차 방식으로 구현하는 선형 순차 리스트(선형 리스트) •순차 자료구조는 원소를 논리적인 순서대로 메모리에 연속하여 저장 연결 방식으로 구현하는 선형 연결 리스트(연결 리스트) 선형 리스트에서 원소 삽입 - 선형리스..
구조체 : 개념 구조체 개념 구조체도 배열처럼 여러 개의 데이터를 그룹으로 묶어서 하나의 자료형으로 정의하고 사용 - 배열은 같은 자료형 만을 그룹으로 묶을 수 있지만, 구조체는 서로 다른 자료형을 그룹으로 묶을 수 있으므로 복잡한 자료 형태를 정의하는데 유용하게 사용됨 여러 자료형의 필드를 가지고 있는 레코드를 만들 때 구조체 사용함 필드,레코드, 파일의 개념 구조체 : 구조체 선언 구조체 선언 여러 자료형의 변수들을 그룹으로 묶어서 하나의 자료형으로 선언 구조체이름, 자료형, 데이터 항목으로 구성 구조체의 이름 - 구조체로 정의하는 새로운 자료형의 이름 항목 - 구조체를 구성하는 내부 변수들의 이름 − 구조체의 항목은 배열의 각 배열 요소에 해당 − 배열 요소는 모두 같은 자료형으로 되어있으므로 배열..
포인터 : 개념 포인터 개념 변수의 메모리 주소 값 포인터변수 - 주소 값을 저장하는 특별한 변수 - 포인터 변수가 어떤 변수의 주소를 저장하고 있다는 것은 포인터 변수가 그 변수를 가리키고 있다는 의미 - 포인터 변수를 이용하여, 연결된 주소의 변수 영역을 액세스 함 - 포인터 변수를 간단히 포인터라고 함 ■ 형식 → 주소 연산자 "&"는 뒤에 오는 변수명의 주소를 표시한다. → 포인터(참조) 연산자 "*"는 뒤에 오는 포인터 명의 주소이며 주소가 지정하는 위치의 데이터 값을 나타낸다. 포인터 : 포인터 선언 포인터 선언 형식 포인터 : 포인터 연산 포인터 연산자 주소 연산자 : & ※ 포인터(참조) 연산자 "*" - 변수의 주소 얻기 위해 사용 참조 연산자 : * - 저장된 주소에 있는 값(변수에 저..
배열 : 개념 배열 array 같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료들의 그룹 인덱스index - 배열의 요소를 간단히 구별하기 위해 사용하는 번호 - C에서 인덱스는 항상 0부터 시작 모든 자료형에 대해서 배열로 구성 가능 구성 형태에 따라 1차원 배열, 2차원 배열, 3차원 배열, … 배열 : 1차원 배열 1차원 배열 선언 형식 자료형에 따른 메모리 할당 크기 확인하기 배열 선언과 메모리 할당 구조 예 1차원 배열의 초기화 형식 1차원 배열의 초기화 예 1 1차원 배열의 초기화 예 2 문자 배열 문자의 나열. “와 ”사이에 표시 문자열을 저장하기 위해서는 문자열을 구성하는 문자들을 연속적으로 저장해야 하기 때문에 char형 배열을 사용 배열의 자료형은 문자 자료형(..
알고리즘의 이해 알고리즘 - 문제해결 방법을 추상화하여 단계적 절차를 논리적으로 기술해 놓은 명세서 알고리즘의 조건 - 입력 input : 알고리즘 수행에 필요한 자료가 외부에서 입력으로 제공 될 수 있어야 한다. - 출력 output : 알고리즘 수행 후 하나 이상의 결과를 출력해야 한다. - 명확성 definiteness : 수행할 작업의 내용과 순서를 나타내는 알고리즘의 명령어들은 명확하게 명세 되어야 한다. - 유한성 finiteness : 알고리즘은 수행 뒤에 반드시 종료되어야 한다. - 효과성 effectiveness : 알고리즘의 모든 명령어들은 기본적이며 실행이 가능해야 한다. 알고리즘 = 자료를 이용하여 절차에 맞게 연산을 하는것 알고리즘의 표현 방법 알고리즘의 표현 방법의 종류 - 자연..
자료의 표현 : 문자 자료의 표현 문자 자료의 표현 - 문자에 대한 이진수 코드를 정의하여 사용 - 문자에 대한 이진수 코드표 BCD 코드 6비트를 사용하여 문자 표현 - 상위 2비트 : 존 비트 - 하위 4비트 : 2진수 비트 - 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자, 특수 문자를 표현 EBCDIC 코드 8비트를 사용하여 문자 표현 - 상위 4비트 : 존 비트 - 하위 4비트 : 2진수 비트 - 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자와 특수문자를 표현 EBCDIC 코드의 구성 ASCII 코드 7비트를 사용하여 문자 표현 - 상위 3비트 : 존 비트 - 하위 4비트 : 2진수 비트 - 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문..
자료구조의 이해 : 개념 자료구조의 개념 자료를 효율적으로 표현하고 저장하고 처리할 수 있도록 정리하는 것 컴퓨터 분야에서 자료구조를 왜 배워야 하는가? - 컴퓨터가 효율적으로 문제를 처리하기 위해서는 문제를 정의하고 분석하여 그에 대한 최적의 프로그램을 작성해야 한다. 자료구조의 이해 : 분류 자료의 형태에 따른 분류 단순 구조 - 정수, 실수, 문자, 문자열, 등의 기본 자료형 선형 구조 - 자료들 사이의 관계가 1:1 관계 - 순차 리스트, 연결 리스트, 스택, 큐, 데크 등 비선형 구조 - 자료들 사이의 관계가 1:다, 또는 다:다 관계 - 트리, 그래프 등 파일 구조 - 서로 관련 있는 필드로 구성된 레코드의 집합인 파일에 대한 구조 - 순차 파일, 색인 파일, 직접 파일 등 자료의 표현 컴퓨터..
드디어 종강을 했다! 사실 이번주 수요일에 종강을 했지만 좀 놀고 쉴시간이 필요했다. 기말고사를 망친게 몇몇 과목이 있어서 만족스럽진 않지만 뭐 어쩔 수 없지... 그리고 방학 중에는 다른 공부를 할 예정이다. 교수님 께서 이번 학기에 배운 내용과 자료 구조에 대한 내용을 블로그에 정리하는 게 좋을 것 같다고 하셔서 그렇게 할 에정이다. 그리고 내가 모바일 게임에 관심이 많다고 하니 모바일 게임에 관해 리뷰하는 글도 올려도 나쁘지 않을 것 같다고 하샤서 한번 해볼까 생각 중이다.