![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 50
_子沐_
这个作者很懒,什么都没留下…
展开
-
剑指offer 第一题 找出数组中重复的数字
题目给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1;样例给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。返回 2 或 3。代...原创 2019-11-27 13:30:16 · 228 阅读 · 0 评论 -
最短路径-Dijkstra算法详解
最短路径—Dijkstra算法更多内容,博主博客,点击这里Dijkstra算法具体实现:设置集合S存放已被访问的顶点,然后执行n次下面两个步骤:每次从集合V-S(即未被访问的顶点)中选择与起点s的最短距离最小的一个顶点(记为u),访问并加入集合;之后,令顶点u为中介点,优化起点s与所有从u能到达的顶点v之间的最短距离。邻接矩阵版本代码 (节点数不超过1000)con...原创 2019-11-26 17:31:57 · 230 阅读 · 0 评论 -
c++中缀表达式转后缀表达式-实现四则运算
c++实现带括号的四则运算计算表达式求值时,先将表达式由中缀表达式转换为后缀表达式,再进行运算求值比如:9+(3-1)*3+10/2,如果用后缀表示法就是9 3 1 - 3 * + 10 2 / +,这样的表达式称为后缀表达式,叫后缀的原因在于所有的符号都是要在运算数字的后面出现。后缀表达式的计算方式为了解释后缀表达式的好处,我们先来看看,计算机是如何计算后缀表达式的。后缀表达式 9 3 ...原创 2019-05-02 16:29:18 · 1289 阅读 · 0 评论 -
中缀表达式转后缀表达式
题目描述:输入一个中缀表达式,编程输出其后缀表达式,要求输出的后缀表达式的运算次序与输入的中缀表达式的运算次序相一致。为简单起见,假设输入的中缀表达式由+(加)、-(减)、×(乘)、/(除)四个运算符号以及左右圆括号和英文字母组成,其中算术运算符遵守先乘除后加减的运算规则。假设输入的中缀表达式长度不超过300个字符,且都是正确的,即没有语法错误,并且凡出现括号其内部一定有表达式,即...原创 2018-06-30 00:28:01 · 1767 阅读 · 0 评论 -
CCF CSP2019年3月第一题 201903-1 小中大
题目描述:#include<iostream>#include<vector>#include<cstdio>using namespace std;int test() { int n=0; cin >> n; vector<float> v(n); for (int i = 0; i < n; i++) {...原创 2019-07-03 17:47:28 · 322 阅读 · 0 评论 -
并查集算法详解
文章目录并查集的定义并查集的基本操作1、初始化2、查找3、合并例题并查集的定义并查集是一种维护集合的数据结构,它的名字中的“并”,“查”,“集”分别取自Union、Find、Set。并查集支持下面两个操作:合并:合并两个集合查找:判断两个集合是否在一个数组并查集通过一个数组实现:int father[N];father[i]表示元素i的父亲节点,而父亲节点本身也是集合内的元素。如果...原创 2019-09-28 21:53:17 · 183 阅读 · 0 评论