인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
개발 · 프로그래밍

/

알고리즘 · 자료구조

독하게 C를 배운 사람을 위한 선형 자료구조

C언어를 이용해 연결 리스트 기반 선형 자료구조를 제대로 구현하는 방법을 다룬 강의 입니다. 연결 리스트를 넘어 DB의 구조까지 한 번에 이해할 수 있습니다.

(5.0) 수강평 26개

수강생 788명

Thumbnail

초급자를 위해 준비한
[알고리즘 · 자료구조, 프로그래밍 언어] 강의입니다.

이런 걸
배워요!

  • 연결 리스트 기반 선형 자료구조

  • 스택, 큐 등 대표적인 선형 자료구조

  • Commit과 Select의 진정한 의미

  • 작은 DBMS를 개발하는 방법

정말 독하게 C언어를 공부했다면 이제는 자료구조를 공부해야 할 때 입니다!

많은 사람들이 선형 자료구조를 공부하고 연결 리스트 코드 작성 실습을 진행합니다. 그러나 대부분 왜 자료구조를 공부하는지 그 이유에 대해서는 크게 생각하지 않는 경향이 있습니다. 결과만 놓고 생각하면 비록 단순한 주소록 같은 프로그램이라 하더라도 그 핵심은 데이터베이스 소프트웨어를 개발하는 것 입니다. 그것이 자료구조의 최종 목표라 할 수 있습니다.



독하게 C!
이제는 자료구조까지

  • 단일/2중 연결 리스트 (

    Stack, Queue)

  • 자료구조와 인덱스를 분리해 관리하는 프로그래밍 기법

  • DB에 대한 코드 수준 접근 (Commit과 Rollback에 대한 코드 수준 이해)

  • DB에서 인덱스가 가지는 의미에 대한 깊은 이해

  • SQL문에서 Select를 Find가 아니라 Select라고 부르는 근본적인 이유

자료구조는 결국

Database 그 자체를 개발하기 위한 것이라 할 수 있습니다!

이론을 외우는 것이 아닙니다.
C언어를 이용한 데이터 관리 프로그래밍 기법을 제대로 알려드립니다!

지금 이런 고민을 하고 있다면 이 강의는 반드시 들어야 합니다!

  • 자료구조가 중요한 CS 기본 이론임은 알겠으나 어디에 활용하는 것인지 도무지 이해가 되지 않는 컴공 전공자 혹은 개발자 지망생

  • 자료구조에 대한 이론은 어느 정도 이해했지만 직접 코드를 작성해야 하는 상황에서 무엇부터 시작해 어떤 과정으로 코드를 작성하는 것이 적절한 지 알 수 없어서 답답한 학습자


  • 소위 실무(혹은 유경험자) C/C++ 계열 개발자의 코딩 과정을 본 경험이 없어 자신의 수준을 객관적으로 판단 할 수 없어 고민인 분


해결 방법은 간단합니다.

자료구조에 대한 이론을 바탕으로 코드가 만들어지는 과정을 직접 경험하면 됩니다!

널널한 개발자와 함께하는

자료구조 코딩 실습

💡 강의에서 사용된 예제는 여러 .c 파일로 코드가 나눠져 있으며 완성된 코드에 대한 해설을 보는 것이 아니라 작성 과정을 직접 경험 할 수 있도록 안내합니다.

작성된 예제를 분석하는 것을 넘어 강사가 함께 코드를 작성

기능 구현 및 적정성 검증을 위한 테스트 코드 작성

오류 해결을 위한 디버깅 과정을 강사와 함께 경험

커리큘럼 미리보기

이 강의는 크게 세 단계로 이루어집니다.

  • [섹션 1~3] 선형 자료구조에 대한 기본 이론과 전체 과정을 함께 따라가는 코드 작성 실습을 병행합니다.

  • [섹션 4] 저장된 자료와 접근 절차를 별도 인덱스로 분리해 관리하는 프로그래밍 기법을 배웁니다.

  • [섹션 5] ADT개념을 적용하고 작은 DB 소프트웨어로 확장하는 일련의 과정을 코드 수준에서 이해합니다.


Q&A

Q. 이미 C언어를 공부한 학생입니다. '독하게 시작하는 C 프로그래밍' 과정을 공부하지 않아도 이 강의를 들을 수 있나요?
네, 들을 수 있습니다. C언어에 대한 이론을 충실히 공부했고 Visual Studio Community를 이용해 스스로 예제를 작성하는데 어려움이 없다면 됩니다. 다만 실습 과정에서 메모리 변화를 디버거로 추적하는 실습을 진행해본 경험이 있다면 학습에 유리합니다.


Q. Stack, Queue만 다루고 2진 트리나 B트리는 배우지 않나요?

네, 이 수업에서는 다루지 않습니다. 이 수업은 선형 자료구조와 그 구현결과 시스템이라 할 수 있는 DB 시스템의 구조를 이해하는 것에 최적화되어 있습니다. 비선형 자료구조는 별도 수업에서 다룹니다.


Q. 개발 환경은 꼭 윈도우로 맞춰야 하나요?

네, 가급적 그렇게 하는 것이 좋습니만 아니어도 학습에 큰 지장은 없습니다. 다만 파일 입/출력에 대한 코드를 자신의 환경에 알맞게 변경할 수 있어야 적절한 실습이 가능합니다.

Q. Java 기반 백엔드 개발자가 되려고 합니다. 이 수업이 도움이 될까요?

네, 도움이 됩니다. 백엔드 개발자가 되기 위해서는 IT 인프라 및 CS 기본 이론에 대한 높은 이해도가 필요합니다. 자료구조에 대한 공부는 선택이 아니라 필수입니다.


Q. 이 수업이 코딩 테스트 준비에 도움이 될까요?

도움이 될 수 있습니다. 하지만 코딩 테스트를 넘어서는 실질적인 프로그래밍 능력을 향상 시키는 것에 더 도움 됩니다. 즉, 이론보다 프로그래밍 기법 그 자체에 집중하는 편이라 할 수 있겠습니다.

실습 환경 및 유의사항

  • Windows 11 64비트 OS (Windows 10 가능)

  • Visual Studio 2022 Community

  • macOS 및 Linux 환경은 고려하지 않음

수강생에게는 수업자료 PDF 및 수업에 사용된 모든 예제파일을 제공합니다.

선수 지식

독하게 시작하는 C 프로그래밍 수준에 해당하는 C언어 프로그래밍 경험과 지식

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • C언어 공부를 끝내고 자료구조를 공부하려는 학생

  • C언어 실력을 향상시키기 위한 미니 프로젝트를 고민하는 취준생

  • 선형 자료구조에 대한 깊은 이해를 원하는 개발자

  • 이론을 넘어서는 실질적인 코딩 기법을 배우고 싶은 분

선수 지식,
필요할까요?

  • 독하게 시작하는 C 프로그래밍 수준 C언어 실력

안녕하세요
널널한 개발자입니다.

수강생 수

28,289

수강평 수

1,366

강의 평점

4.9

강의 수

19

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^

 

커리큘럼

전체

25개 ∙ (7시간 35분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!