U E D R , A S I H C RSS

새싹교실/2015/의사양반/0506 (rev. 1.9)

새싹교실/2015/의사양반/0506


1. 참여자 명단


의사 장용운 11학번 미시행
환자 천준현 15학번 미시행
최지혁 미시행
박인서 미시행

2. 수업

2.1. 진행

1. 장소 : 6층 학회실
2. 시간 : 11시 ~ 13시

2.2. 내용

11강. 우리 펌프하러 가자 ↗↘↖↙
  • 구조체
  • linked list
  • stack(array)
  • stack(linked list)
  • queue
  • tree

3. 코드

3.1. 예제1


4. 숙제

1. 이 페이지에 후기 작성하기!
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 다음 용어에 대해 깊이있게 조사하기
  • Heap
  • Priority Queue

5. 후기

  • 후기 작성 요령 : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요.
    • Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.


  • 이해력이 좀 많이 딸려서...ㅂㄷㅂㄷ 시간 잡아먹는 주범이 되었네요. 여러분, 죄송합니다... -최지혁
  • 역시 포인터는 발암이네요.. 포인터를 잘하고 싶은 발암입니다. 포인터는 역시 계속 봐줘야 된다고 생각하였고, 심히 자료구조 할 때가 걱정되는 수업이었습니다. 점점 저의 밑천이 드러나네요.. 그런 만큼 포인터를 익숙해질 때까지 반복해야겠습니다. - 박인서



6. 숙제 제출

6.1. 천준현


struct myType {
        int ma;
        int mb;
};   (중괄호 뒤에 세미콜론! 중요!!!!)

(struct myType) var1;
var1.ma = 10;
var1.mb = 3.2;

func(var1)

typedef int 으힣;
이렇게 하면 으힣은 int 가 된다.

typedef struct {
          blah blah~~~
} myType; <<<이 방법을 가장 많이 씀. 편하니까 ㅋ

*자료구조
연결리스트(linked list)
값 | 다음 주소
- single ________ 1개
- double ________ 2개
- circular ________
배열과 비교하여 유연한 점은 있으나 다음 걸로 넘어가는데 시간이 걸린다.
single : 뒤에꺼만
double : 앞뒤 둘다
circular : 순환

6.2. 최지혁


2.
struct : 여러 자료형을 묶은 것. struct 이름 { ~~ }; 로 만들 수 있다.

typedef : typedef 자료형 X 하면 자료형을 X로 대신 쓸 수 있다.

linked list: 연결리스트로, single list는 단방향으로 하나의 다른 데이터를 가리키고, double list는 양방향으로 두개의 다른 데이터를 가리킨다. circular list는 여러 데이터들이 연결되어있는데 자신에게 돌아오는 형식이다(단방향,양방향 둘 다 가능).

t.next 와 t->next와 같은 의미로 쓸 수 있다.

stack,queue,tree : stack은 마지막으로 들어온게 먼저 빠지는 구조, queue는 먼저 들어간 게 먼저 나오는 구조, tree는 각각 한 데이터가 다른 두 데이터를 가리키는 데이터다.

3.
Heap : (1)프로그래머가 원하는 시점에 변수를 할당하고 또 소멸하도록 지원을 하는 유형의 변수들이 할당되는 영역을 heap영역이라고 한다.

(2)완전 이진 트리

Priority Queue : 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나온다.



6.3. 박인서

6.3.1. 수업 내용 정리

  • 구조체(struct) : 사용자 정의 자료형
  • 구조체의 정의

struct 구조체명{
	묶고싶은 자료형 정의;
};<-중요!
  • 구조체의 선언
{{(struct 구조체명) 변수명;
변수명.인자->안에 있는 자료형}}
  • 함수에서 구조체를 넘겨줄 수 있다->하나의 자료형 취급
  • typedef

typedef int 저나갈래요; //왜 저런거로 선언했는지는 잘 아시겠죠
  • #define보단 약함
  • typedef struct car mycar;
  • typedef를 이용한 구조체 선언
typedef struct 아무거나(없어도 됨){
}구조체명;->아무거나와 구조체명으로 모두 구조체 사용 가능

  • 자료구조 : 자구싶은 과목논리적으로 자료를 생각
  • 연결 리스트(linked list) : 자신의 데이터값과 붙어있지 않은 다음 데이터의 위치를 가져서 첫번째 자료를 알면 모든 값의 위치를 알 수 있다.
    • 장점 : 배열보다 데이터를 다루기 유용하다.
    • 단점 : 배열보다 데이터를 찾을 때 어렵다.
  • 연결 리스트의 종류
    • single->1개 : 한방향만 암->중간에 있는 값은 앞에있는 값이 어떤지 모름
    • double->2개 : 양방향을 다 암
    • circular : 돌고돌아 결국 자신의 위치로 되돌아 올수 있음(여기에도 single, double 존재)
  • 연결리스트 node 만들기

typedef struct {
int a;
temp * pt;
}temp;
  • *t.next는 t->next로 치환가능
  • 스택(stack) : 나중에 넣은 데이터가 처음 나온다.
  • 큐(queue) : 처음에 넣은 데이터가 처음 나온다.
  • 트리나무(tree) : 나무처럼 생긴거

6.3.2. 용어 정리

  • Heap : 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리를 기본으로 한 자료구조
  • Priority Queue : 기존의 큐와 다르게 우선순위가 높은 데이터 먼저 나가는 Queue



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:58
Processing time 0.0610 sec