原创 基於Huffman 和LZ77的壓縮(二)Huffman壓縮的實現

點我查看上一篇 點我獲取代碼 基於上篇的分析 1一步一步思路分析 1 壓縮: 前提:知道Huffman樹 1 先回顧構造哈夫曼樹的步驟: 1 獲取字符的出現次數(權值) 2 根據出現次數構建Huffman樹 3 根據Huf

原创 深信服三面/hr面 總結

三面是個美麗的小姐姐, 說話很溫柔,沒問技術 1 大學都做過哪些項目, 在項目中擔任着什麼樣的角色。 2 會python 嗎 ? 嗯 ,學習過一段時間 3 回顧一下大學三年吧 4 有什麼遺憾的?給你一次機會,你選擇重新

原创 百度一面 / 二面 總結

一面 :下午兩點開始 時長 80min 首先自我介紹 1 項目: 項目背景、技術 、架構 、爲什麼做這兩個項目、項目實現了什麼? 項目問的比較細:問了好多,優化呀,改進呀,藉助第三方模塊幹了啥? 具體、具體、再具體, 當時

原创 C++11在STL容器中 加入了emplace_back():

C++11emplace_back(): 如果要將一個臨時變量push到容器的末尾,push_back()需要先構造臨時對象,再將這個對象拷貝到容器的末尾,而emplace_back()則直接在容器的末尾構造對象,這樣就省去了拷貝

原创 深信服二面總結

開場 簡單自我介紹 1 : 平時瀆書嗎? 讀什麼書? 哪裏讓你感觸最深? 我大概聊了下侯捷老師的STL源碼剖析 2 sizeof(類) 大小 包含虛函數時呢? 兩個虛函數時呢?每個對象都有一個虛函數指針嗎? 每個對象

原创 python 多任務.(協程)

迭代器 生成器 協程 greenlet 協程 gevent 協程 yeild 迭代器 迭代 :在原來的基礎上擴展得到新的東西 迭代器:怎麼判斷是否可以迭代? from collection import Iterater isin

原创 python.多任務 (進程)

注意 : 文件名別叫 multiprocessing.py 否則會報錯 python創建進程 三種方式:一 1 from multiprocessing import Process

原创 python.多任務 (線程)

以上是木有多任務的效果 1 import time 2

原创 floyd 算法: 網絡時延

圖論中 求路徑 的經典算法 Dijstra 算法 並不能計算 含有 負值權重的情況: 是用來求最短路徑的算法。----> 廣度優先 + 貪心算法 Dijstral 算法 是求 一個到1個的算法 , 但 floyd是求 所有節

原创 力扣:DP正方形面積

221 題 : 全1 正方形的最大面積 分析 : DP思想:首j先確定邊長:邊長受短邊影響 ,所以 dp[i][j]= min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) +1 獲

原创 ## leetcode 40. 組合總和 II 回溯法

leetCode 40. 組合總和 II 給定一個數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的每個數字在每個組合中只

原创 遞歸與回溯算法整理(二)

這是leetcode 上的一個經典的習題: 也是我面試伴魚時碰到的一個問題(汗~ 當初沒好好刷題) 問題描述 :求島嶼數量 https://leetcode-cn.com/problems/number-of-islands/

原创 數組相關算法整理(一)

先從基礎 :二分查找開始吧 。 1 二分查找 別看一個 二分查找: 他也有很多要注意的點 。區間開閉?相應邊界怎麼控制? 二分查找思想1946 年提出 , 知道1962年纔出現一個真正沒有bug的二分查找法。 //二分查找

原创 遞歸與回溯算法整理(一)

遞歸 與 回溯 回溯其實是一種暴力解決問題的方式, 對於問題規模大於20以上的數據,個人計算機將不能處理。 下面基於幾個問題分析體會一下 問題分析 : 對於 0 1 * # 不用考慮 對於 2~ 9 每個數字都有3中情況。

原创 貪心算法整理

貪心算法思路和實現很簡單 但是難在證明用貪心算法的正確性,就比較困難 下邊先從幾個題目開始體會 (一) 分發餅乾: 假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多隻能給一塊餅乾。對每個孩子 i ,都有一個