c로 쓴 자료구조론 연습문제 4장(리스트)

  • 등록일 / 수정일
  • 페이지 / 형식
  • 자료평가
  • 구매가격
  • 2011.11.08 / 2019.12.24
  • 88페이지 / fileicon hwp (아래아한글2002)
  • est1est2est3est4est5 2(구매금액의 3%지급)
  • 1,500원
다운로드장바구니
Naver Naver로그인 Kakao Kakao로그인
최대 20페이지까지 미리보기 서비스를 제공합니다.
자료평가하면 구매금액의 3%지급!
이전큰이미지 다음큰이미지
하고 싶은 말
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

c로 쓴 자료구조론

<이석호 저>
<교보문고>

연습문제 4장 풀이입니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
목차
4.2절
4. 리스트의 노드수를 계산하는 함수 length를 작성하라.
5. P를 단순 연결 리스트의 첫 번째 노드를 가리키는 포인터라 하자. 노드 P에서부터 하나씩 건너서 있는 노드들을 전부 삭제하는 프로시저를 작성하라.(즉 첫 번째, 세 번째, 다섯 번째 등의 노드들이 삭제된다.) 작성한 알고리즘의 시간 복잡도는 얼마인가?


6. x = (, ․ ․ ․, ), y = (, ․ ․ ․, )을 두 연결 리스트라 하자. 각 리스트에서 노드들은 데이터 필드값의 오름차순으로 되어 있다고 가정하라. 두 연결 리스트를 합병하여 역시 같은 순서를 유지하는 새로운 연결 리스트 z를 만드는 알고리즘을 작성하라. 합병한 후에 x와 y는 각각 독립적으로 존재하지 않는다. 즉, 초기에 x와 y에 있었던 각 노드들은 병합 후에는 z에 있게 된다. 새로운 노드는 사용할 수 없다. 작성한 알고리즘의 시간 복잡도는 얼마인가?


7. = (, ․ ․ ․, ), = (, ․ ․ ․, )을 두 연결 리스트라 하자. 두 리스트를 병합하여 m n 이면 = (x1, y1, x2, y2, ..., xm, ym, xm+1, ..., xn), m > n 이면 = (x1, y1, x2, y2, ..., xn, yn, yn+1, ..., ym )을 얻는 함수를 작성하라.


8. 연결 리스트를 왼쪽에서 오른쪽으로 순회해 나가는 동안 링크를 반대로 만들어 양 방향으로 이 리스트를 순회해 나가는 것이 가능하다. (즉, 왼쪽에서 오른쪽으로, 그리고 제한적으로 오른쪽에서 왼쪽으로) 변수 ptr은 현재 시험하고 있는 노드를 가리키고, left는 그 왼쪽 노드를 가리킨다. ptr의 왼쪽에 있는 모든 노드들의 링크가 반대로 되어있다.
(a) 주어진 위치에서 ptr을 n 노드만큼 오른쪽으로 옮기는 함수를 작성하라.
(b) 주어진 위치에서 ptr을 n 노드만큼 왼쪽으로 옮기는 함수를 작성하라.


4.3절
1. 회문(palindrome)은 앞에서나 뒤에서나 철자가 같은 단어나 구를 말한다. 예를 들어 “reviver" 와 "Able was I ere I saw Elba"는 모두 회문이다. 단어나 구가 회문이 되는지는 스택을 이용해서 검사할 수 있다. 단어나 구가 회문이면 TRUE를, 아니면 FALSE를 반환하는 함수를 작성하라.


2. 수식에 있는 중첩된 괄호의 짝이 맞는지를 스택을 이용해서 검사할 수 있다. 이를 수행하는 함수를 작성하라.


4.4절
7. [프로그래밍 과제] 다항식들을 표현하고 관리하는 연결 할당 시스템(linked allocation system)을 설계하고 작성하라. 헤드 노드를 가진 원형 연결 리스트를 사용하고, 다항식의 각 항은 다음 구조를 가진 노드로 표현한다.


본문내용
리스트의 노드수를 계산하는 함수 length를 작성하라.

#include <stdio.h>
#include <stdlib.h>

/* 리스트 노드 구조체 :
데이터와 노드 포인터를 가진다.
*/
typedef struct list_node *list_pointer;
typedef struct list_node{
int data;
list_pointer link;
} list_node;

// 함수 원형들을 선언
int length(list_pointer p);
void print_list(list_pointer p);
void create_node(list_pointer *p);
void list_delete(list_pointer p);

/* 메인함수 :
리스트의 추가, 삭제, 프린트와 길이 계산 가능
*/
void main()
{
// 메뉴 선택을 위한 변수
int c;
// 리스트의 길이를 헤아리기 위한 변수
int count;
// 리스트의 최상위 포인터
list_pointer ptr = NULL;

while (1)
{
.....
자료평가
  • 자료평가0자료평가0자료평가0자료평가0자료평가0
  • 필요한 자료였는데 잘썻습니다.
  • kdm9***
    (2018.05.13 22:25:04)
  • 자료평가1자료평가1자료평가1자료평가1자료평가1
  • 아직 확인해보진 않았지만 우선 감사해요
  • 29641***
    (2018.04.10 23:41:20)
회원 추천자료
  • 독후감 모음집(A+ 자료, 102권) -] 작가의 의도 분석, Summary, 느낀점, 자아성찰(교훈) 및 시사점, 적용 계획, 인상깊었던 문장 등
  • 론이 필연적으로 등장하는 경위에 대해 쉽게 풀이하고 있다고 생각한다.또한, 우리가 처해있는 상황 속에서 어떠한 방법이 최선인지 주체적으로 생각해 볼 수 있도록 도와주고, 자신의 이해와 신념을 지키기 위해선 어떤 사상이 자기주장의 기반으로 필요한지에 대해 알려준다고 생각한다. 첫째, 우리가 처해있는 상황이나 자신의 이해를 구조적으로 파악하는 연습을 위해, 이 책에선 FTA 문제, 무상급식 문제, 민영화 문제 등 현재 사회에서 이슈가 되

  • [名品]독후감(A+ 평가작, 100권) -] 서울대 권장도서 독후감, 국문과 과제 및 독후감 중 A+ 평가작 선별제공
  • 론이 나왔다. 인생의 주체는 나 자신인데 정작 나 자신을 중요시 여기지 않고 살아왔던 것이었다.하지만, 이 책 속 주인공은 계속해서 사회에 대한 푸념을 뱉는 와중에도 자신에 대한 쓴 소리는 일절 하지 않는다. 오히려 “나의 문제가 아니라 나를 이렇게 만든 사회의 문제다!” 라고 말하며 자기 위로를 한다.이렇게 밑바닥에 있던 사람도 자신이 주체인 인생을 살아가는데, ’나‘라고 못할 것 없지 않은가. 그 생각과 함께 내가 남들을 위한 내가 아

  • [名品]독후감(A+ 평가작, 100권) -] 서울대 권장도서 독후감, 국문과 과제 및 독후감 중 A+ 평가작 선별제공
  • 문제의식을 갖게끔 한다.한국인의 마음속에 지워지지 않고 오래 남는 문학작품을 읽음으로써 마치 바다와 산맥이 있고 색다른 벌판과 강이 흐르는 것처럼 우리가 살아온 생각의 지도, 마음의 풍경이 되는 것을 느껴보아야 하겠다.김유정의 소설은 주로 농촌 현실의 문제성을 많이 노출시키지만, 그 문제성이 현장의 아픔을 능동적이라기보다는 웃음으로 치환시켜 구조화했다고 생각된다. 가난의 문제를 다루면서도 민중 속의 문학으로 서글픈 해학과

  • [자기소개서작성완벽가이드] 기업인사심사관 취업정보센터관리자 취업담당교수들이 말하는 자기소개서의 중요성과 자기소개서 작성 요령
  • 문제를 고려한다는 점에서 오히려 장점으로 작용할 수 있다고 생각합니다. 생활신조 저의 생활신조는 ‘기본을 잊지 말자’ 입니다. 어린 시절 부모님께 받은 이 가르침은 지금도 저를 견고히 붙잡아 주는 힘이 됩니다. 웃어른을 대하는 예절 사회생활에서의 인사 약속 배려와 타협하는 태도 정직한 마음 등 매우 기본적인 것이지만 사람들은 쉽게 생각하는 경향이 있습니다. 하지만 그 만큼 믿음과 신뢰는 점점 줄어들게 됩니다. 기본부터 성실히

  • 웹툰의 언어표준화 기능 연구
  • 론 2012학년도 1학기문항2. 웹툰의 언어 표준화 기능에 대해 설명하시오.2. 웹툰의 언어 표준화 기능에 대해 설명하시오.웹툰이라는 매체와 언어 교육언어 교육과 문화 교육이 불가분의 관계에 있음은 잘 알려져 있다. 의사소통적 접근 방법이 개발되기 이전인 1960년대 말에는 외국어로서의 언어 교육이 주로 문법이나 구조에 치중되어 실시되다가 1970년대 이후 의사소통 능력(communicative competence)의 개념이 도입되어 언어 능력을 문법적 능력을 넘어서

오늘 본 자료 더보기
  • 오늘 본 자료가 없습니다.
  • 저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터에 신고해 주시기 바랍니다.
    사업자등록번호 220-06-55095 대표.신현웅 주소.서울시 서초구 방배로10길 18, 402호 대표전화.02-539-9392
    개인정보책임자.박정아 통신판매업신고번호 제2017-서울서초-1806호 이메일 help@reportshop.co.kr
    copyright (c) 2003 reoprtshop. steel All reserved.