原创 動態規劃:單調遞增子序列

需求 描述 給定一個長度爲N的數組,找出一個最長的單調自增子序列(不一定連續,但是順序不能亂)。 例如:給定一個長度爲6的數組A{5, 6, 7, 1, 2, 8},則其最長的單調遞增子序列爲{5,6,7,8},長度爲4. 第一行輸入

原创 自己實現一個簡單的優先隊列-二叉堆

需求 自己實現一個簡單的優先隊列(Priority Queue)-二叉堆(Binary Heap). 二叉堆是一種特殊的堆,二叉堆是完全二元樹(二叉樹)或者是近似完全二元樹(二叉樹)。二叉堆有兩種:最大堆和最小堆。最大堆:父結點的鍵值總

原创 自己實現一個簡單的AVL樹

需求 自己實現一個簡單的AVL-Tree。 包含功能 insert remove findMax findMin toString   基本功能與之前實現的BinarySearchTree相同,不過avl樹需要保證樹的平衡,每一個節

原创 自己實現一個二叉查找樹BinarySearchTree

需求 自己實現一個簡單的二叉查找樹BinarySearchTree 二叉排序樹或者是一棵空樹,或者是具有下列性質的二叉樹: 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值; 若右子樹不空,則右子樹上所有結點的值均大於或等