原创 單源點最短路徑 c++實現 分支限界算法

問題描述:在一個網(帶權圖)中,從指定節點出發,找到到各個節點的最短路徑   分支限界思想: 一個問題的解空間可以用一棵樹來表示,比如此題,在此題的解空間樹中,根是指定節點,任何一個節點的子女是與此節點連接的除父節點之外的所有節

原创 函數棧空間

示例程序 #include <iostream> using namespace std; int func(int a, int b); int main() { bool i = ""; if(i) c

原创 讀寫鎖就是惡霸和良民一起桑拿

惡霸進去桑拿房,其他人都不能再進,良民卻可以共享

原创 經典算法面試題及解題思路

1一個數組中有若干整數,其中只有一個數只出現奇數次次,其他數都出現偶數次,找出出現奇數次的數。O(n)       解題思路:逐個抑或 2 統計一個字符串中出現次數最多的字符      解題思路:count[a[i]]++;最後遍

原创 最優裝載問題 回溯算法

#include <iostream> using namespace std; const int N=5; const int C=4; /*問題描述: n個物品 重量分別爲w[1] w[2]...w[n] 放入一個容量爲c的揹包裏

原创 要考研

好好考研  點贊 收藏 分享 文章舉報

原创 揹包問題 動態規劃和回溯算法

揹包問題:    有n個物品   質量分別爲w[n]  價值分別爲v[n]   有一個最多能裝c質量物品的揹包,問怎麼裝載,才能讓揹包裏面裝的物品價值最大 實際生活中遇到此類問題,一般的思路是將所有物品按照單位質量價值排序,然後從最大的

原创 赫夫曼編碼詳解

赫夫曼編碼的原理: 用bit存儲信息,一般是使用固定長度的bit來表示每一個信息單元,比如ascii用8bit來表示一個字符 爲了壓縮存儲空間,可以使用更少的bit來存儲信息 如果文本文件全文已知(不能是流文件),則可以

原创 拿硬幣的必勝方 輪流拿硬幣 最後拿的輸

硬幣遊戲 一堆硬幣,共n枚,兩個人輪流從其中拿出若干枚,每次只能拿1個,2個或者4個。 規定最後一個拿硬幣的人爲輸。問:在先手和後手中,誰有必勝策略? 比如,最簡單的情況,總共就1枚硬幣,則後手有必勝策略(而且無論如何必勝),

原创 leveldb

sst table 是leveldb存儲數據的主要形式,每一個sst table 是一個文件,其中主要存儲了用戶數據,即k-v數據。 爲了快速找到待查找的key,sst文件中的數據按照key的大小有序排放,而且,還設置了索引,加快查找的效

原创 itachi學習

itachi是偶然在網上看到的dirtysalt 編寫的異步編程框架庫https://github.com/dirtysalt/dirtysalt.github.io/blob/master/codes/cc/itachi/itachi.

原创 golang 閉包

閉包是一個匿名函數 一般典型的函數跟調用者溝通的方式就兩種,一種是輸入輸出參數,一種是全局變量。 但是閉包是一種特殊的函數,可以有第三種,閉包可以access 上下文變量 func outer(name string) func() {

原创 hive spark等

hive是基於hdfs的一個數據庫工具   可以類比爲 mysql 是基於本地文件系統的數據庫, hive則是基於hdfs的數據庫,不太準確 spark 對應於mapreduce, 但是更快,本來spark是單獨於hadoop生態的,但

原创 生產者消費者問題

生產者消費者是一個典型的多線程處理模型。 可以利用多處理器,提高處理效率,典型的應用場景比如, 存儲服務器接收用戶數據並存儲 此模型可以進一步分爲,多生產者多消費者,多生產者單消費者,單生產者單消費者。 從實現角度講,以單生產者,單消費者

原创 leveldb源碼學習——Cache

Leveldb中會使用cache來提高讀取性能,cache兩種數據,1,file meta信息,2,data block信息。 leveldb開放了cache的接口,用戶可以通過自定義cache類,完成對cache的定製化實現,另外le