Data Structure & Algorithms
iorichang
if (share.makesHappiness()) doSharing();
展开
-
Internal Sorting Algorithms Part 2/2: Advanced Sorts
Internal Sorting Algorithms Part 2/2: Advanced Sorts目录Internal Sorting Algorithms Part 22 Advanced Sorts目录概述QuickSortMergeSortHeapSort代码实现Summary概述在Internal Sorting Algorithms Part 1/2: Element原创 2016-05-19 09:36:56 · 637 阅读 · 0 评论 -
AVL
AVL目录AVL概述单旋转右旋转左旋转双旋转左-右旋转右-左旋转代码实现Summary概述二叉搜索树(BST)可能会造成如下图所示的问题:查找的时间复杂度会达到O(N),这个时候AVL树就派上用场了。 一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉搜索树(空树的高度定义为-1)。把失去平衡的节点叫做α,由于任意节点最多有两个孩子,因此出现高度不平衡的α的两棵子树原创 2016-05-11 00:18:00 · 523 阅读 · 0 评论 -
DepthFirstSearch & BreadthFirstSearch
DFS & BFS目录DFS BFS概述原理实现Summary概述深度优先搜索和广度优先搜索是图论算法里的两种图的遍历方式,理解了两种搜索的原理之后,会发现算法和数据结构真的是不可分离的。原理深度优先搜索 在访问图中的其中一个顶点时:把它标记为已访问;递归地访问它的所有没有被标记过的邻居节点。递归方法说明我们可以利用栈的特点来说明深度优先搜索,举一个例子就行了: 栈: FILO原创 2016-05-14 13:07:49 · 366 阅读 · 0 评论 -
Internal Sorting Algorithms Part 1/2: Elementary Sorts
Internal Sorting Algorithms Part 1/2: Elementary Sorts目录Internal Sorting Algorithms Part 12 Elementary Sorts目录概述InsertSortShellSortSelectSortBubbleSort代码实现Summary概述InsertSort插入排序,是这样一种排序算法: 它把原创 2016-05-17 13:32:34 · 380 阅读 · 0 评论 -
Binary Search Tree
Red-Black Tree Part 1/3: Binary Search Tree目录Red-Black Tree Part 13 Binary Search Tree目录概述SearchInsertDeleteSummary概述在深入学习红黑树之前,要先理解二叉搜索树的操作,包括插入和删除等,因为红黑树就是建立在二叉搜索树的基础之上。二叉搜索树,又叫二叉查找树。若想使得二叉树成为原创 2016-05-26 19:14:12 · 218 阅读 · 0 评论