算法和数据结构
weishenmax
电子科技大学研究生
展开
-
二叉树的先序,中序,后序,层序遍历的非递归实现
二叉树的前序遍历非递归实现: vector<int> preorderTraversal(TreeNode* root) { vector<int> result; if(root==nullptr) return result; stack<TreeNode*>...原创 2018-08-20 16:00:21 · 889 阅读 · 1 评论 -
数组的全排列和全子集
给定一个数组,求数组的全排列和全子集,暴力枚举法。1,求不含重复元素的数组的全排列 vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> result; if(nums.size()==0...原创 2018-08-23 13:37:29 · 924 阅读 · 0 评论 -
赫夫曼编码
转自https://blog.csdn.net/webzhuce/article/details/53105831 一、基本概念最基本的压缩编码方法是赫夫曼编码。赫夫曼编码的定义如下:二、概念详解1、赫夫曼树将一个班级每个学生的百分制成绩根据统一的标准换算成五级分制的成绩,标准如下:假设学生的成绩在五个等级上的分布规律如下如果用如下的二叉树表...转载 2018-09-07 21:59:19 · 9227 阅读 · 0 评论 -
最小生成树——Kruskal(克鲁斯卡尔)算法 和Prime(普里姆)算法
转自https://blog.csdn.net/D5__J9/article/details/79950804一、概念 生成树:一个连通图的生成树,指的是该图的一个子图,它包含图的所有顶点(N个),但只有足够把所有顶点连接在一起的N-1条边。 如果再向其中添加一条边,那么必定会有环形成。 最小生成树:一个连通图的所有生成树中,所有边的权值加起来最小的生成树,称为最小生成树。二、实际应用...转载 2018-09-07 22:12:34 · 614 阅读 · 0 评论 -
最短路径问题---Dijkstra算法详解
转自https://blog.csdn.net/qq_35644234/article/details/608707191、最短路径问题介绍问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:迪杰斯特拉算法(Dijkstra算法) 弗洛伊德算法(Floyd算法) SPFA算法这篇博客,我们就对Dijkstra算法来...转载 2018-09-07 22:24:50 · 492 阅读 · 0 评论 -
十大经典排序算法动图演示
转自https://www.cnblogs.com/onepixel/articles/7674659.html十大经典排序算法(动图演示)0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相...转载 2018-09-07 22:30:05 · 2045 阅读 · 3 评论