Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Algorithm & Data Structure

Open Source Data Structures and Algorithms in C

This course covers the latest data structures and algorithms used in representative open sources such as Linux.

(4.8) 6 reviews

79 learners

  • jikim1770
알고리즘
코딩테스트
LinkedList
RedBlackTree#1
binary-search-trees
pattern-matching
C
Algorithm
Linux
gcc
data-structure

What you will learn!

  • Generalized linked list implementation

  • Red Black Tree and Augmented Tree Using It

  • Flexible Array Analysis and Implementation

  • Pattern Matching: BF, KR, SO, MP, KMP, BM

  • Implementation of generalized algorithms

  • Bit search algorithm

  • Data integrity check (parity bit, hash)

Figure 14

Understanding the latest data structure algorithm techniques through open source analysis

  • It covers the basic data that ends with stack, queue, linked list, and tree.

  • We cover techniques for memory optimization and speeding things up.

  • Covers techniques within open source used in speed and memory sensitive systems such as kernels.

Learning Content

Figure 3

Section (1) Generic Linked List

Learn the Type generalization technique using container_of, which allows you to concatenate any type of structure into a single list.

Section (2) Generic Hash

Learn the latest techniques for hash data structures using double pointers that can quickly search any type of data in O(1) time.

Figure 4
Figure 5

Section (3) Binary Search Tree

You will learn how to implement a binary search tree from scratch and even how to use recursive calls to automatically balance the tree.

Section (4) Red Black Tree

Understand the insertion/deletion process of Red Black Tree through implementation, and learn about augmented trees and interval trees that are advanced versions of RB Tree.

Figure 6
Figure 7

Section (5) Flexible Array

Understand the concept of Flexible Array and learn how to implement memory pooling techniques using it.

Section (6) Pattern Matching

Understand the concept of Pattern Matching and learn through implementation the representative KR, SO, MP, KMP, and BM techniques that have developed historically.

Figure 8
Figure 9

Section (7) Generic Sort

We'll cover the generalized swap technique using void* and learn how to use it to implement a generalized sort. We'll also cover the concept of delegation using function pointers.

Section (8) Bit Related Algorithm

Learn how to implement various algorithms (FFS, Hamming weight, Bit Reverse) using bit operators.

Figure 10
Figure 11

Section (9) Data Integrity Related Algorithm

Learn about the implementation of various data integrity algorithms (Parity Bit, Check Sum, CRC) that have developed historically.

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): Windows 10, 11, Ubuntu 18.04, 20.04

  • Editing tools: Windows vscode, Ubuntu VIM, gcc

  • Compiler: gcc

Learning Materials

  • Learning material formats provided (PPT, source code)

  • During class, we use PPT to write on the board and share it as class material.

Player Knowledge and Precautions

  • Prerequisite knowledge for this course: Basic C language, basic data structure, and algorithm knowledge.

  • This lecture video specifications: FPS-60, resolution-1280*720, audio sample rate-44,100

  • Please feel free to ask questions, and the lectures may be revised when the open source version is upgraded.

  • The learning materials distributed during lectures are for class use only and unauthorized distribution is prohibited.

Recommended for
these people

Who is this course right for?

  • C language related developer

  • Those who want to learn basic data structure algorithms and the latest techniques

  • Open source related developer

Need to know before starting?

  • C language basics and data structure algorithms

Hello
This is

703

Learners

66

Reviews

11

Answers

4.9

Rating

9

Courses

김정인 강사님은 오픈소스가 중요하다며

리눅스 커널 및 딥러닝의 구현 소스를 취미 삼아 매일 분석 하는 오픈 소스 매니아 입니다.

소스를 통해 이해 한다며 무작정 소스 분석으로 모든 원리를 이해하려 하므로

수강 시 소스 폭탄에 주의 해야 합니다.

 

강의문의 : jikim@imguru.co.kr

Curriculum

All

69 lectures ∙ (17hr 15min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

6 reviews

4.8

6 reviews

  • dondonh님의 프로필 이미지
    dondonh

    Reviews 4

    Average Rating 5.0

    5

    30% enrolled

    • egnachio0258님의 프로필 이미지
      egnachio0258

      Reviews 2

      Average Rating 5.0

      5

      100% enrolled

      Too young.

      • raphaelcctm8331님의 프로필 이미지
        raphaelcctm8331

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        • inflearninfosec1600님의 프로필 이미지
          inflearninfosec1600

          Reviews 3

          Average Rating 3.7

          4

          45% enrolled

          The lecture itself is very good, but it is not a suitable lecture for those who are new to data structures. It assumes that you already know data structures and the C language, and covers the contents of integrating them with open source (this lecture is based on the Linux kernel). The appropriate level for listening is the level where you can implement lists and trees in the C language on your own from scratch without any help. And.. the reason why I took off 1 star is that.. the keyboard sound is as loud as the voice. This is a huge factor that breaks the concentration of the lecture. The keyboard sound is transmitted through the earphones, so my ears were sore while listening to the lecture.

          • jyseo님의 프로필 이미지
            jyseo

            Reviews 49

            Average Rating 5.0

            5

            67% enrolled

            $68.20

            jikim1770's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!