contributed by < steven1lung > Documentation 在 Linux 核心中,有許多地方都有使用到紅黑樹。但是我們可能會想說為什麼要使用紅黑樹,而不是其他的二元樹像是:AVL Tree 之類。雖然二者平均時間複雜度都是 $O(\log n)$,但因行為和特性的落差,有不同的應用場景。 以下簡述 AVL Tree 和紅黑樹的差異: 平衡AVL Tree 比紅黑樹還要平衡(左右子樹的高度不能差超過 2),但是會在平衡自己的時候花費比紅黑樹多的時間。 如果考慮到要更快速地去 search 一個節點,那 AVL tree 會比較適合。
7/28/2023contributed by <steven1lung> and <Niomoo> Git 是所有開發者、工程師必定要學會如何使用的工具,今天就打算講解一下我們為什麼會需要版本控制工具,以及要如何去初步使用它。 ![](https://i.imgur.com/PGzKhpN.jpg =500x) 課程投影片請點我。 介紹 Git 是由 Linux Kernel 的開發者 Linus Torvalds 在開發 kernel 時,因為需要一個版本控制工具而發明的。
11/18/2022contributed by < steven1lung > :checkered_flag: 自我檢查清單 [x] 參照 Linux 核心模組掛載機制,解釋 $ sudo insmod khttpd.ko port=1999 這命令是如何讓 port=1999 傳遞到核心,作為核心模組初始化的參數呢? [ ] 參照 CS:APP 第 11 章,給定的 kHTTPd 和書中的 web 伺服器有哪些流程是一致?又有什麼是你認為 kHTTPd 可改進的部分? [ ] htstress.c 用到 epoll 系統呼叫,其作用為何?這樣的 HTTP 效能分析工具原理為何? [x] 給定的 kecho 已使用 CMWQ,請陳述其優勢和用法 [x] 核心文件 Concurrency Managed Workqueue (cmwq) 提到 "The original create_*workqueue() functions are deprecated and scheduled for removal",請參閱 Linux 核心的 git log (不要用 Google 搜尋!),揣摩 Linux 核心開發者的考量 [ ] 解釋 user-echo-server 運作原理,特別是 epoll 系統呼叫的使用
6/17/2022contributed by < steven1lung > 會使用到的技術 Polygon Next.js Tailwind ( CSS 的套件 ) Solidity Hardhat Ether.js
5/12/2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up