原创 從零開始寫一個內存池

內存池0. 什麼是內存池1. 模板特化2. 結構2.1 內嵌指針3. 思路講解3.1 Alloc3.2 Free4. 副產品4.1 預先分配4.2 增加檢測信息4.3 內存池的銷燬5. 關於造輪子 0. 什麼是內存池 內存池的邏輯

原创 leetcode-134——加油站

加油站 題目 在一條環路上有 N 個加油站,其中第 i 個加油站有汽油 gas[i] 升。 你有一輛油箱容量無限的的汽車,從第 i 個加油站開往第 i+1 個加油站需要消耗汽油 cost[i] 升。你從其中的一個加油站出發,開始時

原创 shared_from_this使用注意

文章目錄1. shared_from_this只能被shared_ptr管理對象調用2. 禁止在棧/堆上構造對象2.1 更加優雅的方式3. 只能在棧上或者堆上構造對象 這裏算是爲我的智能指針學習補上最後一塊知識。 1. share

原创 leetcode-259-較小的三數之和-雙指針

題目描述 給定一個長度爲 n 的整數數組和一個目標值 target,尋找能夠使條件 nums[i] + nums[j] + nums[k] < target 成立的三元組 i, j, k 個數(0 <= i < j < k <

原创 數據結構和算法——位圖

位圖 問題 位圖的引出,主要還是在於當我們想做一個很大的set的時候,位圖可以幫助我們節省非常大的空間。 比如說:我們有1千萬個整數,整數的範圍在1到1億之間。如何快速查找某個整數是否在1千萬個整數中呢? 非常簡單的話,我們可以

原创 leetcode-256-粉刷房子-動態規劃

題目描述 假如有一排房子,共 n 個,每個房子可以被粉刷成紅色、藍色或者綠色這三種顏色中的一種,你需要粉刷所有的房子並且使其相鄰的兩個房子顏色不能相同。 當然,因爲市場上不同顏色油漆的價格不同,所以房子粉刷成不同顏色的花費成本也是

原创 leetcode-回溯法-全排列

題目 題目源自leetcode這三道題 leetcode-46 leetcode-47 leetcode-267 思路1:唯一全排列 這裏總結下上述問題的思路。假設給定一個數組,裏面的數字均唯一。比如[1, 2, 3, 4, 5,

原创 碼元速率的盲估計-包絡譜法

碼元速率的盲估計 實現自論文 主要實現的是包絡譜的檢測方法。 算法的大致原理請看論文,本文這裏是幫助實現了論文代碼。分享出來。 源代碼 clc clear close all % 這是一個對碼元速率的盲估計程序,先經過譜分析粗

原创 leetcode-245-最短單詞距離(找倆個有序數組中的差的最小值)

題目 給定一個單詞列表和兩個單詞 word1 和 word2,返回列表中這兩個單詞之間的最短距離。 word1 和 word2 是有可能相同的,並且它們將分別表示爲列表中兩個獨立的單詞。 示例: 假設 words = [“prac

原创 Redis源碼學習-5-對象

對象 文章目錄對象1. 對象分類2. 數據結構2.1 類型2.2 編碼3. 接下來的目標5. 各種對象5.1 創建一個新 robj 對象5.2 字符串對象5.2.1 編碼5.2.2 embstr的創建5.3 列表對象5.3.1 編

原创 利用zc序列進行簡單的幀同步

幀同步zc序列的產生同步算法 參考文章 https://wenku.baidu.com/view/accce6d1240c844769eaeea9.html zc序列的產生 產生zc序列,根據論文公式得出,K值可以用來評價ZC序列

原创 leetcode-搜索專題

搜索1. 關於搜索1.1 BFS和DFS小談1.1.1 BFS模板1.1.2 DFS模板2. 題目一覽2.1 排列和組合問題2.1.1 排列問題1. 綜述2. 送上來的排列問題2.1.2 組合問題1. 綜述2. 問題2.1 子集問

原创 Redis源碼學習-8-Redis源碼網絡部分簡要分析

main函數流程 文章目錄main函數流程0. 前言1. 簡要源碼分析1.1 小結 0. 前言 接下來,我們就跟隨一下代碼,或者說函數調用棧,來看下。Redis是怎麼做的。 1. 簡要源碼分析 當前,我們先刨除一些業務上的代碼,僅

原创 Redis源碼學習-7-事件驅動2

事件驅動 文章目錄事件驅動1. 數據結構1.1 Demultiplexer1.1.1 創建epoll實例1.1.2 關聯事件到fd,並修改epfd的興趣列表1.1.3 輪詢1.2 Dispatcher1.2.1 初始化Dispat

原创 Redis源碼學習-2-字典

哈希表 文章目錄哈希表1. 數據結構1.1 哈希表節點1.2 哈希表1.3 字典2. 一個普通狀態下的字典3. 字典的變化3.1 創建一個字典3.2 插入一個元素3.3 發生哈希衝突之後3.4 哈希算法3.5 rehash漸進式r