![](https://img-blog.csdnimg.cn/20200402115007142.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
主要为考研机试,面试常见算法案例。
weixin_39851956
这个作者很懒,什么都没留下…
展开
-
找素数(算法笔记)
找素数(算法笔记)题目描述: 设pi表示第i个素数。输入两个数m,n,找出pm到pn的所有素数。题目分析: 素数是能被1和自身整除的数,注意1不是素数。如何判断数N是否是素数?可以通过枚举法,看从2到该数之间是否有被N整除的数。为了减少循环的次数,可以将N除以2得到A,即判断2到A之间是否有被N整除的数。素数可以判断了,接下来如何找第k个素数。定义一个数i,i从1开始,判断i是否是素数并递增...原创 2020-04-09 19:53:12 · 291 阅读 · 0 评论 -
分数的四则运算(算法笔记)
分数的四则运算(算法笔记)题目描述: 第一行输入分数的个数,第二行输入分数,输出其和,用分数表示(输入都为正数)。题目分析: 按照平时分数加法运算,求分母的最小公倍数,再将分子相加。知识储备:1)最大公约数求解:辗转相除法。大数除以小数得到余数,再用小数除以余数,直到余数为0,该式的被除数即为最大公约数。比如求解27和36的最大公约数:36 ÷ 27 = 1…9;27 ÷ 9 = ...原创 2020-04-09 12:29:12 · 1000 阅读 · 0 评论 -
二叉排序树实战分析(算法笔记)
二叉排序树实战分析题目描述:输入一棵二叉树,再输入一串权值,将权值填入二叉树的节点中,使得该二叉树成为一棵二叉排序树,层序输出对应权值。如图所示:题目分析:二叉排序树(二叉查找树)任意一个节点都满足左子树 < 根 < 右子树,其中序遍历为递增序列。运行结果:代码如下:```cpp#include<iostream>#include<queue>...原创 2020-04-03 18:47:41 · 368 阅读 · 0 评论 -
平衡二叉树实战(算法笔记)
平衡二叉树实战**题目描述:**输入一系列权值,按输入顺序构成平衡二叉树,输出根节点的权值。什么是平衡二叉树?平衡二叉树是特殊的二叉排序树,权值左 < 权值根 < 权值右 ,且它的每个节点的左右子树高度之差不大于1,左右子树的高度差为平衡因子,平衡因子只能为1、-1、0。如何构成平衡二叉树?顺序插入节点,当发现不满足平衡二叉树的性质,则对树进行旋转。旋转规则如下:1)LL(...原创 2020-04-03 18:38:18 · 310 阅读 · 0 评论 -
根据中序和后序求二叉树(算法笔记)
根据中序和后序求二叉树题目描述:给出二叉树的中序和后序序列,输出二叉树的层序遍历序列。题目分析:中序遍历为左根右,后序遍历为左右根,所以后序遍历的最后一个节点为根节点,在中序遍历上找出根节点的位置,将树分为左右两个子树。使用 in[],post[] 存储中序后后序序列。假设某个分支二叉树中序区间为[inL, inR],后序区间为[postL,postR],那么post[postR]就为该树的...原创 2020-04-01 19:24:30 · 2286 阅读 · 0 评论 -
树的遍历实战分析(算法笔记)
树的遍历实战分析题目描述: 已知一棵树,根节点存放货物价格,每往下走一层,价格在父节点上增加 r%。叶节点给出货物量,求其价格之和。如下图所示:根节点处的价格为100,橘色部分为叶节点处的货物量。4、5、7号节点深度为2,9、10节点深度为3,那么价格为:100×((10+20+40)×1.02×1.02+(30+50)×1.02×1.02)=15772.464。题目分析: 从根节点开始...原创 2020-04-02 11:40:36 · 115 阅读 · 0 评论