原创 算法導論有趣題——4-2,6-3

4-2: 題目描述: 某數組A[1,2,...n]含有所有從0到n的證書,但其中一個整數不在數組中。通過輔助數組B[0,...n]來記錄A中出現的整數 (1)在O(n)時間找到缺失整數 (2)若數組中每個數值是二進制的,不能直接對每個數取

原创 最長遞增子序列的求解(O(n*n),O(nlogn))——動態規劃

該問題均使用動態規劃來解決 1.在O(n*n)的複雜度下求解最長遞增子序列 1) 描述最優子結構 序列中每個元素維護兩個額外信息量,均假設當前元素(i)是 (0~i-1)個元素子序列中作爲遞增子序列的最後一個元素,則維護當前元素最後最後

原创 BP神經網絡與RBF神經網絡講得好的博客鏈接

RBF神經網絡介紹得很好的博客:點擊打開鏈接 BF神經網絡與RBF神經網絡的區別介紹的很好的博客:點擊打開鏈接

原创 linux粘着位的作用

文章轉自:點擊打開鏈接 我們先來看看chmod()函數的原型:   #include    #include    int chmod(const char *pathname,mode_t mode);   其第一個常數是路徑名,用來指

原创 用BP人工神經網絡識別手寫數字

文章轉自:點擊打開鏈接 圖像預處理 使用下圖(後方稱爲 SAMPLE_BMP)作爲訓練和測試數據來源,下文將講述如何將圖像轉換爲訓練數據。 灰度化和二值化 在字符識別的過程中,識別算法不需要關心圖像的彩色信息。因此,需要將彩色圖像轉化

原创 深度學習中的降維操作——PCA(主成分分析)

前言: 深度學習是個很有意思的話題: 1.對線性不可分的數據,其方法是通過增加隱層神經元的數量,將低維不可分的數據映射到高維,使得數據可分(如單隱層感知機訓練異或門) 2.對特徵維數過高的數據(如mnist手寫識別中的維度爲28*28),

原创 動態規劃之整齊打印

算法描述部分轉自:點擊打開鏈接 ''' 乍一看以爲是空格個數和,如此可以使用“貪心算法”求解,即從第一行開始儘可能多的放置單詞,可以證明這個“貪心解”也是最優的,假設有一個最優解從某行開始和“貪心解”不相同,我們可以從這行開始進行構造證

原创 關於指針與類的內存分佈問題(問題思考來自《程序員面試寶典》)

引起思考的例子: class A { public: int a_1,a_2; A() :a_1(1),a_2(2){} void func() { cout << a_1 << endl; cout << a_2 <<

原创 C++11 新接口 實現線程池類

class Job { protected: int i; public: Job(int c) :i(c) {} virtual void doJob() { printf("job : %d\n", i);} }; class

原创 getopts 的坑

getopts 真的比較坑啊。。。。語言描述不同,以下用例子來體現,對腳本文件 ./test.sh #注意,選項一開始沒有冒號 while getopts ab:c OPT; do case $OPT in a) e

原创 getopts命令行參數處理

getopts命令行參數處理 一、getopts 簡介   由於shell命令行的靈活性,自己編寫代碼判斷時,複雜度會比較高。使用內部命令 getopts 可以很方便地處理命令行參數。一般格式爲: getopts option

原创 累積梯度下降,隨機梯度下降,基於mini-batch 的隨機梯度下降

1、批量梯度下降的求解思路如下: (1)將J( θ)對theta求偏導,得到每個 θ對應的的梯度     (2)由於是要最小化風險函數,所以按每個參數theta的梯度負方向,來更新每個theta (3)從上面公式可以注意到,它得到的是一

原创 linux啓動是自動加載的幾個文件說明bashrc等 .

linux啓動是自動加載的幾個文件說明bashrc等 (1)/etc/profile 全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。 (2)/ect/bashrc Ubuntu沒有此文件,與之對應的是/ect/bash.b

原创 求數組中若干個元素之和等於給定值

這個問題的基礎版本是:在數組中找兩個元素,使其之和等於某個給定值。解法簡單:將數組排序後,用兩個指針分別位於數組首與數組尾,然後計算兩個指針所指元素的和,若大於給定的元素,則尾部的指針向前移動;若小於給定的元素,則首部的指針向後移動。 但

原创 輾轉相除法求得最大公約數的證明

  描述:關於輾轉相除法的具體實現在這裏就不具體說明了,本文要記錄的是輾轉相除法應用於求最大公約數的算法證明過程。   假設: 求m和n的最大公約數。 a,b分別是m除以n的商和餘數,即m=na+b。gcd(m,n)表示m和n的最大