原创 二叉樹的非遞歸遍歷:Java語言實現

1 前言       上一篇寫了《二叉樹的遞歸遍歷:Java語言實現》,現在用java實現下二叉樹的非遞歸遍歷。2 二叉樹的非遞歸遍歷2.1 先序遍歷       根據前序遍歷訪問的順序,優先訪問根結點,然後再分別訪問左孩子和右孩子。即對

原创 機器學習實戰筆記(七):支持向量機(SVM)(Python3 實現)

       關於支持向量機的文章挺多。這裏記錄下自己感覺不錯的博文,供大家在閱讀《機器學習實戰》一書時,作爲參考。  [1] Python3《機器學習實戰》學習筆記(八):支持向量機原理篇之手撕線性SVM[2] Python3《機器學習

原创 二叉搜索樹的插入、刪除、查找等操作:Java語言實現

1 二叉搜索樹介紹 二叉搜索樹(BST, Binary Search Tree),也稱二叉排序樹或二叉查找樹。二叉搜索樹:一棵二叉樹,可以爲空;如果不爲空,滿足以下性質:1. 非空左子樹的所有鍵值小於其根結點的鍵值。2. 非空右子樹的所有

原创 樹的定義、表示和二叉樹及存儲結構

1 前言       最近又看了一遍浙大的數據結構視頻課程《浙江大學數據結構慕課》,感覺講得很不錯。爲方便以後複習及查閱,現把樹的定義、表示和二叉樹及存儲結構的這兩節的內容以圖片的形式摘錄至此。2 樹的定義及樹的表示2.1 樹的定義2.2

原创 機器學習實戰筆記(九):預測數值型數據:迴歸

最近在看《機器學習實戰》一書,關於預測數值型數據:迴歸這一章的內容,再網上看了一些不錯的博客,在此記錄下。[1] 機器學習實戰之迴歸[2] Python3《機器學習實戰》學習筆記(十一):線性迴歸基礎篇之預測鮑魚年齡[3] 第8章 預測數

原创 基於簡單數組的方法實現棧:Java語言實現

1 棧的簡單介紹       棧作爲一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出(First In Last Out,FILO)的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧

原创 二叉樹的遞歸遍歷:Java語言實現

1 前言      所謂遍歷(Traversal)是指沿着某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴於具體的應用問 題。 遍歷是二叉樹上最重要的運算之一,是二叉樹上進行其它運算之基礎。       由於

原创 優先隊列---最大堆:Java語言實現

1 堆(heap)的簡單介紹       堆(英語:heap)是計算機科學中一類特殊的數據結構的統稱。堆通常是一個可以被看做一棵樹的數組對象。堆總是滿足下列性質:a. 堆中某個節點的值總是不大於或不小於其父節點的值;b. 堆總是一棵完全二

原创 平衡二叉樹——AVL樹的旋轉操作:Java語言實現

1 前言       最近在研讀《數據結構與算法經典問題解析》和《數據結構與算法分析 c語言描述》兩本書,記錄一下學習AVL樹的筆記。2 平衡二叉樹——AVL樹的旋轉操作2.1 AVL樹的特點 AVL樹本質上還是一棵二叉搜索樹,它的特點是

原创 基於單向鏈表的方法實現隊列:Java語言實現

1 前言       使用單向鏈表也可以實現隊列,通過在鏈表的末端插入元素的方式實現入隊(EnQueue)操作,通過刪除鏈表的表頭元素實現出隊(DeQueue)操作。2 基於單向鏈表的方法實現隊列2.1 創建結點類package Queu

原创 基於動態數組的方法實現棧:Java語言實現

1 前言       上一篇寫了《基於簡單數組的方法實現棧:Java語言實現》,但是一旦棧的最大空間給出,滿棧後再執行入棧操作將會產生溢出異常,這裏採用採用動態數組的方法實現棧,用數組倍增的技術解決滿棧的問題,但是需要注意的是,倍增太多可

原创 基於單向鏈表的方法實現棧:Java語言實現

1 前言       使用單向鏈表也可以實現棧,通過在鏈表的表頭插入的方式實現push操作,刪除鏈表的表頭結點(棧頂結點)實現pop操作。具體push操作和單向鏈表在鏈表頭部添加結點的方法類似,具體pop操作和單向鏈表在鏈表頭部刪除結點的

原创 機器學習實戰筆記(八):利用 AdaBoost 元算法提高分類性能

       最近在看《機器學習實戰》一書,關於利用 AdaBoost 元算法提高分類性能這一章的內容,再網上看了一些不錯的博客,在此記錄下。[1] Python3《機器學習實戰》學習筆記(十):提升分類器性能利器-AdaBoost[2]

原创 基於動態數組實現循環隊列:Java語言實現

1 前言       上一篇寫了《基於簡單循環數組實現隊列:Java語言實現》,但是一旦隊列的最大空間給出,滿棧後再執行入隊操作將會產生溢出異常,這裏採用採用動態數組的方法實現循環隊列。2 基於動態數組實現循環隊列package Queu

原创 機器學習實戰筆記(四):決策樹(Python3 實現)

1 決策樹的構造 1.1決策樹的特點優點:計算複雜度不高,輸出結果易於理解,對中間值的缺失不敏感,可以處理不相關特徵數據。缺點:可能會產生過度匹配問題。適用數據類型:數值型和標稱型。    在構造決策樹時,我們需要解決的第一個問題就是,當