- 博客(6)
- 收藏
- 关注
原创 二叉树的遍历(先序遍历,中序遍历,后序遍历,层次遍历)
二叉树简介维基百科对二叉树的定义:二叉树(英语:Binary tree)是每个节点最多只有两个分支(不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”和“右子树”。二叉树的分支具有左右次序,不能颠倒。 二叉树的遍历有4种方式,先序遍历,中序遍历,后序遍历,层次遍历,前三者均属于深度优先遍历,先序、中序、后序指的是遍历时根节点相对于左右孩子的次序,先序遍历的顺序为根节点->左子树->
2018-01-29 10:47:11 7002
原创 九种经典排序算法详解(冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序,计数排序,桶排序,基数排序)
综述最近复习了各种排序算法,记录了一下学习总结和心得,希望对大家能有所帮助。本文介绍了冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、计数排序、桶排序、基数排序9种经典的排序算法。针对每种排序算法分析了算法的主要思路,每个算法都附上了伪代码和C++实现。电梯直达1. 冒泡排序 2. 插入排序 3 .选择排序 4. 快速排序 5. 归并排序 6. 堆排序 7. ...
2018-01-26 01:08:25 6418
原创 数据结构:Trie(单词查找树,字典树,前缀树)
Trie简介Trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。【来自维基百科】 TrieNode结构
2018-01-21 17:28:04 1323
原创 所有结点对最短路径算法:Floyd-Warshall算法
背景知识图简介图由节点和边组成,边有方向的图称为有向图,边没有方向的图称为无向图,最短路径算法里可以把无向图视为双向连接的有向图。 边有权重的图称为有权图,边没有权重的图称为无权图,无权图可以视为边的权重均为1的图。点对点最短路径求图中任意(所有)两点之间的最短路径,Floyd-Warshall算法概述点对点路径可以通过将每个点作为源点使用Dijkst...
2018-01-20 18:15:20 2128
原创 单源点最短路径算法:Bellman-Ford算法
背景知识图简介图由节点和边组成,边有方向的图称为有向图,边没有方向的图称为无向图,最短路径算法里可以把无向图视为双向连接的有向图。 边有权重的图称为有权图,边没有权重的图称为无权图,无权图可以视为边的权重均为1的图。单源点最短路径给定图中的一个节点,求该节点到其他所有节点的最短路径。Bellman-Ford算法概述Bellman-Ford属于DP算法,
2018-01-20 14:34:45 1628 1
原创 单源点最短路径算法:Dijkstra算法
背景知识图简介图由节点和边组成,边有方向的图称为有向图,边没有方向的图称为无向图,最短路径算法里可以把无向图视为双向连接的有向图。 边有权重的图称为有权图,边没有权重的图称为无权图,无权图可以视为边的权重均为1的图。单源点最短路径给定图中的一个节点,求该节点到其他所有节点的最短路径。Dijkstra算法概述Dijkstra属于单源点最短路径算法,时间复
2018-01-20 09:15:17 2323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人