原创 C++高級數據結構算法 | Skip List(跳躍表)

文章目錄前言跳躍表的基本概念與性質跳躍表結構分析跳躍表的結構定義拋硬幣產生隨機值跳躍表的元素添加操作跳躍表的查詢操作跳躍表的元素刪除操作跳躍表的表釋放跳躍表的層序遍歷 前言 前面的文章我們學習了性能高效的基於二叉搜索樹的動態數據

原创 C++高級數據結構算法 | 回溯算法(解決整數選擇、01揹包、整數求和、八皇后問題)

文章目錄回溯法的算法解析問題的解空間回溯法的基本思想遞歸回溯迭代回溯子集樹與排列樹經典問題分析子集樹算法框架整數選擇問題0-1揹包問題整數求和問題排列樹算法框架八皇后問題 回溯法有“通用的解題法”之稱。用它可以系統地搜索一個問題

原创 基於 EasyX 庫開發經典90坦克大戰遊戲

文章目錄寫在前面安裝EasyX圖形庫項目需求與概要設計項目需求概要設計遊戲初始化與開始界面設計遊戲地圖設計與初始化己方坦克初始化我方坦克控制(熱鍵控制實現)子彈定義和初始化敵方坦克初始化與出場設計敵方坦克選路算法子彈運動與碰撞檢測

原创 C++高級數據結構算法 | RBTree(紅黑樹)

之前我們有介紹高級數據結構中的BST樹與AVL樹: 《C++高級數據結構算法 | Binary Search Tree(二叉查找樹)》 《C++高級數據結構算法 | AVL(自平衡二叉查找樹)》 但是,即使AVL樹擁有平衡特性,但

原创 淺析MySQL安全問題:SQL注入攻擊

文章目錄SQL 注入簡介應用開發中可以採取的應對措施PrepareStatement+Bind-variable使用應用程序提供的轉換函數自己定義函數進行校驗 在日常開發過程中,開發人員一般只關心 SQL 是否能實現預期的功能,

原创 C++高級數據結構算法 | AVL(自平衡二叉查找樹)

之前我們向大家介紹了 高級數據結構算法中的 BST 樹,即二叉查找樹: 《C++高級數據結構算法 | Binary Search Tree(二叉查找樹)》 我們使用遞歸和非遞歸的方式實現了BST樹的插入、刪除、查詢、四種遍歷等操作

原创 理解MySQL索引的底層實現原理

文章目錄理解索引的特性索引的本質其他結構的問題B-Tree 和 B+TreeMySQL索引實現MyISAM索引實現InnoDB索引實現 理解索引的特性 索引是幫助MySQL高效獲取數據的排好序的數據結構 索引存儲在文件裏

原创 深入剖析 fork 內核實現(Linux kernel 2.6.11)

本文基於 Linux Kernel 2.6.11 分析進程複製系統調用 do_fork函數的實現過程。 詳細分析了其中的 copy_process()、dup_task_struct()、copy_file()、copy_mm()

原创 深入剖析 epoll 內核實現(Linux Kernel 2.6.11)

之前我們有講解過IO複用函數中epoll系列系統調用: 《Linux網絡編程 | IO複用 : epoll系列系統調用詳解》 本文基於 Linux Kernel 2.6.11 分析IO複用函數 epoll 的內核實現過程。 詳細分

原创 深度探索MySQL主從複製原理

文章目錄基本概念MySQL 主從複製的主要用途MySQL 主從形式MySQL 主從複製原理剖析MySQL 主從複製模式異步模式(mysql async-mode)半同步模式(Semisynchronous replication)

原创 C++高級數據結構算法 | 二叉樹的四種遍歷算法詳解(遞歸與非遞歸實現)

文章目錄二叉樹遍歷方法前序遍歷算法遞歸實現非遞歸實現中序遍歷算法遞歸實現非遞歸實現後序遍歷算法遞歸實現非遞歸實現層序遍歷算法遞歸實現非遞歸實現 二叉樹的遍歷(traversing  binary  treetraversing

原创 淺析malloc的底層實現原理(ptmalloc)

文章目錄內存佈局brk(sbrk)和mmap函數內存管理的一般方法malloc 實現原理ptmalloc簡介內存管理數據結構概述主分配區與非主分配區chunk組織空閒鏈表 binsFast BinsUnsorted Binsmal

原创 MySQL經典SQL語句練習題分析

文章目錄數據定義題目描述題目解答 數據定義 自行創建數據庫,添加如下四張數據表: ----------------------- 學生表 ------------------------ CREATE TABLE `Student

原创 MySQL事務處理與鎖機制詳解

文章目錄MySQL事務處理事務的基本概念事務的ACID特性數據不一致問題事務的隔離級別事務的提交與回滾MySQL的鎖機制MyISAM表鎖MyISAM的鎖調度InnoDB行鎖InnoDB行鎖實現方式間隙鎖(Next-Key鎖)總結

原创 C++高級數據結構算法 | 樹與二叉樹的基本概念與性質

之前我們有講解過基礎的數據結構算法:線性表、棧和隊列、串的相關概念,以及八大排序算法及其代碼實現。 從本篇博文開始,我們將講解高級數據結構算法,使用C++語言實現,包括BST樹、AVL樹、紅黑樹、跳躍表、字典樹、倒排索引以及分治法