原创 數據結構-二叉樹(binary tree)-二叉查找樹(binary search tree)

#二叉樹(binary) 二叉樹就是節點的度不大於2的樹,即樹中每個節點的子節點最多隻有兩個。每個節點的子節點分爲左子節點和右子節點,並且左右子節點的順序不能改變。 1. 二叉樹分類 二叉樹分爲滿二叉樹、完全二叉樹和完美二叉樹

原创 [sicily] 1001. Alphacode

題目大意: 假設有一規則:’A’ 設爲1,’B’設爲2,以此類推, ‘Z’設爲26。按照這個規則給一串英文字母編碼,將會得到一個數字碼。現在給定這個數字碼,求出可以解碼出多少種不同的英文字母。 解題思路 動態規劃:由於總共有

原创 [sicily] 1021. Couples

1021. Couples Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description N couples are sta

原创 數據結構:棧(linked-stack & array-stack)

棧是一種特別的線性表。在棧中,只能在數據的一端(即棧頂)進行操作。最經典的解釋這個策略的例子就是疊盤子。盤子只能一個一個不斷放在之前的盤子堆上,拿盤子的時候也只能從上往下一個一個拿。這兩個操作,在stack中分別對於push和po

原创 數據結構-堆(heap)

堆(heap)也被稱爲優先隊列(priority queue)。隊列中允許的操作是先進先出(FIFO),在隊尾插入元素,在隊頭取出元素。而堆也是一樣,在堆底插入元素,在堆頂取出元素,但是堆中元素的排列不是按照到來的先後順序,而是按

原创 數據結構-樹(tree)

本篇文章先介紹關於樹的一些基礎概念。 常見的數組、鏈表、棧和隊列都是線性結構,在存儲大量數據時訪問速度比較慢,而樹(tree)則是一種非線性結構,使得訪問時間複雜度降低到O(logn)。 生活中跟樹的結構類似的結構就是族譜。每一個

原创 【機器學習】文本數據簡單向量化

一個文本數據指的是一篇文章,或者一段話,或者一句話。這個文本數據通常稱爲document,或者text。我們平常的文本都是以人的表達方式展現的,是一個流數據,時間序列數據。我們如果要用計算機對文本數據進行處理,就必須將文本數據表示

原创 [sicily]1002. Anti-prime Sequences

題目解析:注意在判斷一個d anti-prime sequence時,需要判斷連續2,3…,d個數字的和是否都是一個合數! 解題思路 深度搜索:從第一個數字開始,不斷向序列中加入新的數字,判斷加入的數字是否能夠組成一個d-an

原创 數據結構:鏈表(linked-list)

在討論鏈表(linked-list)之前,需要明確幾個概念:線性表(順序表, list, linear list), 數組(array),鏈表(linked-list)。 線性表:在中文裏,線性表也叫作順序表。在英文中,它稱爲li

原创 MinGW編譯portaudio,win7

本篇博客介紹如何在win7系統下使用MinGW和msys編譯portaudio。廢話少說,直接進入主題: 1. 下載和安裝MinGW和msys 下載mingw-get-setup.exe,下載完成後使用mingw-get-set

原创 數據結構-前序遍歷、中序遍歷、後序遍歷、層級遍歷(遞歸、非遞歸)

二叉樹的遍歷是一個非常基礎又重要的內容。遍歷就是訪問二叉樹中的每一個節點,並且每個節點只訪問一次。二叉樹的遍歷分爲前序遍歷、中序遍歷、後序遍歷和層級遍歷。 前序遍歷 前序遍歷的順序是:根節點 -> 左子節點 -> 右子節點。 上

原创 數據結構-平衡二叉樹(AVL Tree)

在 數據結構-二叉樹(binary tree)-二叉查找樹(binary search tree) 的最後面,提到過在二叉樹中增加或者刪除節點,可能導致樹的左右子樹高度相差很多,即導致樹不平衡。爲了解決這個問題,規定在插入或者刪除

原创 【機器學習】判別模型vs生成模型

判別模型vs生成模型 條件概率分佈p(y|x) 從概率的角度來看監督學習的話,其實就是從數據集中學習條件概率分佈p(y|x)。其中,x∈Rn 表示n維數據特徵,y∈R 表示數據對應的類別標籤。給定一個x,模型計算出x屬於各個類別標

原创 【機器學習】KNN(k-Nearest Neighbor)算法

K近鄰(k-Nearest Neighbor, 簡稱KNN)算法是一種非常簡單的機器學習監督算法。它的主要思想是:給定一個測試數據,如果離它最近的K個訓練數據大多都屬於某一個類別,則認爲該測試數據也屬於這個類別。以下圖爲例,圖中的

原创 數據結構-隊列(queue)

隊列(queue)是一種採用先進先出(FIFO)策略的抽象數據結構,它的想法來自於生活中排隊的策略。顧客在付款結賬的時候,按照到來的先後順序排隊結賬,先來的顧客先結賬,後來的顧客後結賬。 隊列實現 同棧的實現一樣,隊列的實現也有