对于自然数的表达式求值,操作有加、减、乘、除和幂运算,分别用+,-, *, /,^来表示,为方便运算,加入#运算符,其运算优先级最低,由于运算符优先级不一样,可以利用栈实现此操作。 算法思想 (1)规定运算符的优先级表 (2)设置两个栈:OVS(运算数栈)和OPTR(运算符栈),为了操作方便可以先在 ...
分类:
其他好文 时间:
2018-10-14 11:35:43
阅读次数:
230
本题使用贪心算法思想,这里给出的代码是比较高效的一种解法。 ...
分类:
其他好文 时间:
2018-10-09 12:44:44
阅读次数:
242
菜鸡刷模板系列。。。 这道题其实是可以二分的,但是有更好的算法,叫做三分。 三分这种算法用于求单峰函数的最大值或者最小值。 算法思想就是弄$(l, r)$区间的两个三等分点,然后来缩小范围。 因为这道题是求峰顶,所以我们可以~~模拟退火~~通过两个三等分点的大小关系来缩小范围。 我们把那个值小的那边 ...
分类:
其他好文 时间:
2018-10-01 23:49:14
阅读次数:
368
树链剖分 树剖是将树的节点分为轻重点,再将边分为轻重链,然后用树状数组、线段树等数据结构进行维护的算法思想。个人认为本质上可以看作线段树等维护区间的数据结构在树上的推广应用。换句话说,就是将树hash成几段连续区间以便数据结构来维护。 适用问题 对于一棵有点权的树 对两点间最短路径上点的修改与询问操 ...
分类:
其他好文 时间:
2018-09-28 11:05:56
阅读次数:
119
首次接触软件工程学科,有些生硬又有点兴奋,需要去补回相关的基础知识,希望在本学期能通过《高级软件工程》这一课程达到以下目标: 1、对实践项目完成后学习到的能力的预期:(1)对软件工程有个较为全面的了解;(2)对所涉及到的编程知识和算法思想能比较好的吸收;(3)学习软件工程的架构原理和设计思路;(4) ...
分类:
其他好文 时间:
2018-09-24 13:43:42
阅读次数:
127
本文用到的测试数据生成的代码和分析: "《测试数据自动生成》" 文章图片来源于 GitHub,网速不佳的朋友 "请点我看原文" 。 顺便软广一下个人技术小站: "godbmw.com" 。欢迎常来 ?\(^?^\ \) 1. 谈谈高级排序 本文主要介绍高级排序算法中的归并排序和快速排序。他们有运用了 ...
分类:
编程语言 时间:
2018-09-24 00:41:13
阅读次数:
148
删除: 算法思想 插入 算法思想 代码实现: 查找 1.按序号查找 算法思想 要查找带头结点的单链表中第i个结点,则需要从单链表的头指针L出发,从头结点L->nexrt顺着链域扫描,用指针p指向当前扫描的结点,j做计数器,累积当前扫描的结点数(初始值为0),j==ii时,指针p指向的就是要找到第i个 ...
分类:
其他好文 时间:
2018-09-23 15:10:08
阅读次数:
135
二叉排序树 二叉排序树或者是一颗空树 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若它的右子树不空,则右子树上所有节点的值均大于其根节点的值。 左右子树分别为二叉排序树 存储结构: 二叉排序树插入 算法思想: a.若果key的值等于根节点的值停止插入 b.如果key的值小于根节点 ...
分类:
其他好文 时间:
2018-09-22 18:31:53
阅读次数:
208
一.排序 二.插入排序 (1)算法描述 (2)性能分析 (3)寻求优化 三.归并排序 (1)算法思想 (2)性能分析 (2)示例 (3)算法问题及优化 ...
分类:
编程语言 时间:
2018-09-20 17:17:24
阅读次数:
243
k-means聚类算法python实现 K-means聚类算法 算法优缺点: 优点:容易实现缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢使用数据类型:数值型数据 算法思想 k-means算法实际上就是通过计算不同样本间的距离来判断他们的相近关系的,相近的就会放到同一个类别中去。 1.首先我们 ...
分类:
编程语言 时间:
2018-09-13 01:19:55
阅读次数:
229