강의

멘토링

커뮤니티

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.9) 10 reviews

90 learners

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

Reviews from Early Learners

What you will gain after the course

  • 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

857

Learners

105

Reviews

12

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

10 reviews

4.9

10 reviews

  • 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.

    • berriesbright0j5730님의 프로필 이미지
      berriesbright0j5730

      Reviews 5

      Average Rating 5.0

      5

      25% enrolled

      I am currently taking Advanced C. It is not simply about learning the concepts of inserting, deleting, and modifying Linked Lists, but it also explains the changes in how to handle Linked Lists along with the history and context of open source. Through a part where it is compatible with a Linked List that is not too difficult and is suitable for the level of the students, you will learn various techniques on how to generalize regardless of type in C, where generics do not exist. However, it is not suitable for those who are new to data structures, so it would be good to come with a basic understanding of data structures. If so, I think it will be a very useful lecture. ^^ I look forward to the various lectures that the instructor will give in the future, and I hope that many people will take good lectures and do well so that good lectures can continue for a long time.

      • wjlee3529님의 프로필 이미지
        wjlee3529

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        • asd704563784님의 프로필 이미지
          asd704563784

          Reviews 1

          Average Rating 5.0

          5

          87% enrolled

          I respect you.

          • abcd123123님의 프로필 이미지
            abcd123123

            Reviews 327

            Average Rating 5.0

            5

            9% enrolled

            Limited time deal ends in 6 days

            $61,600.00

            30%

            $68.20

            jikim1770's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!