原创 Java實戰:仿QQ遊戲大廳五子棋

本篇主要講本科時學習Java時寫的一個小遊戲。五子棋對於鍛鍊Java初級編程很有幫助。 素材蒐集與設計 棋盤 五子棋的遊戲算法就不說了,當時寫的比較一般。這裏講一講遊戲設計吧。首先是棋盤,我花了一早上用PPT畫了個棋盤,主要是不會

原创 算法學習(一)緒論

算法問題求解步驟: 理解問題:試着手工處理一些小規模的例子,考慮一些特殊的情況;嚴格確定需要算法處理的實例範圍 瞭解設備的性能:順序算法or並行算法 在精確解法和近似解法之間做出選擇 算法的設計技術 確定適當的數據結構 算法的描

原创 安卓開發(二)人臉識別相冊FaceMap

本篇主要講本科時做的一個應用,人臉識別相冊。主要包含JNI和業務邏輯。最終代碼會公佈在github。 算法部分 當時深度學習還沒有很火,所以用的是經典的PCA方法,降維之後直接作爲特徵。人臉檢測部分用的也是Opencv的Haar特

原创 機器學習(六)統計學習理論

統計學習理論的意義 統計學習理論提供了機器學習的一個理論基礎。通過理論推導,從本質上說明了機器學習爲什麼會出現過擬合現象,以及過擬合與模型選擇、訓練數據之間有什麼關係。 數學推導 設訓練集S={(xi,yi)}mi=1S={(xi

原创 C語言實踐:找字遊戲

單詞查找遊戲 說明:在填滿字母的正方形表格中找出指定集合中的所有單詞。可以豎着讀,可以橫着讀,可以斜着讀。遇到邊界可以環繞,但方向不得改變,同一個單元格可以出現在多個單詞中,但在一個單詞中只能出現一次。 這裏我們用指針實現字符矩

原创 Matlab並行化之Cellfun

Matlab並行 在matlab裏手寫循環的效率是很低的,爲提高效率,應該儘可能減少循環操作。把循環寫成矩陣運算的形式,因爲matlab的函數都是支持矩陣輸入的。 在新版的matlab裏有一個新特性非常值得學習,即cellfun

原创 C++實踐(四):C++實現AES-CMAC算法

AES-CMAC AES-CMAC使用了高級加密標準作爲組分。爲了產生一個消息認證碼,CMAC需要一個密鑰,消息message及消息的長度length作爲輸入,輸出是消息認證碼。 AES-CMAC的核心是CBC-MAC。對於待加

原创 矩陣論(一)矩陣的特徵值

矩陣的特徵值刻畫矩陣的奇異性、反映矩陣所有對角元素的結構、刻畫矩陣的正定性。 定義 若n×1n×1 非零向量uu 作爲線性變換AA 的輸入時,所產生的輸出與輸入只相差一個比例因子λλ ,即: Au=λu,u≠0Au=λu,u≠

原创 const限定符

const對象一旦創建不可更改其值,必須初始化。 引用和const 對常量的引用:如果對象是常量,只能把一個常量引用綁定到這個對象。 指針和const 指向常量的指針:這樣的指針不會改變指針指向對象的值。 常量指針:指針是對象,

原创 解決linux遠程客戶端x2go無法使用visual studio code的問題

在linux遠程客戶端x2go下,vscode無法打開。解決方法如下: It works for XFCE x2go (xubuntu 16.04) sudo cp /usr/lib/x86_64-linux-gnu/libxc

原创 安卓開發(一)時間管理應用DayPlay

本篇主要講本科時寫的一個app。從應用開發的流程到最後代碼落到實地,涉及設計模式、代碼編寫等相關知識。代碼https://github.com/goodluckcwl/DayPlan 需求分析: 日常生活中,人們常常會因爲拖拉而無

原创 C++實踐(六):基於RSA與HMAC的數字簽名算法及其原理

RSA RSA算法的步驟如下: 1、選擇兩個不同的大素數p與q 2、計算n=p*q 3、計算∅(n)=(p-1)(q-1) 4、選擇整數e gcd(e, ∅(n))=1 1 基於RSA與HMAC的數字簽名算法及其原理

原创 C++實踐(三):C++實現加密算法AES

本篇主要講2015年寫的加密算法。包括:AES,AES-CMAC,HMAC,基於RSA與HMAC的數字簽名算法。當時大概寫了2天。哈哈! AES算法 AES是一個對稱加密標準,用以取代DES的商業應用。其分組長度爲128位,192

原创 算法導論學習筆記(二)排序和順序統計量

總結各種排序算法,時間複雜度與空間複雜度,優缺點等。 堆排序 堆排序的時間複雜度是θ(nlogn)θ(nlog⁡n) ,堆排序具有空間原址性。 堆是一個數組,可以看成一棵近似的完全二叉樹。除了最底層之外,該樹完全填滿,給定一個節點i,可以

原创 LeetCode--[廣度優先搜索]864. 獲取所有鑰匙的最短路徑

給定一個二維網格 grid。 “.” 代表一個空房間, “#” 代表一堵牆, “@” 是起點,(”a”, “b”, …)代表鑰匙,(”A”, “B”, …)代表鎖。 我們從起點開始出發,一次移動是指向四個基本方向之一行走一個單位空間。我們