- 博客(5)
- 资源 (10)
- 收藏
- 关注
原创 最大子数组问题三种算法的Java代码实现——暴力求解、分而治之、线性方法
这是《算法导论》书中给的一个例子。下图给出了17天的股票价格。第0天的价格是100美元,你可以在此后任何时刻买进股票。人们都希望“低价买进,高价卖出”,并最大化收益。这里就是要求解在哪一天买进,哪一天卖出,可以获得的收益最大。 本文中,给出了暴力求解和分治法两种求解的方法。暴力求解方法就是尝试多有可能的买进卖出组合,找出收益最大的组合。在分而治之的方法中,我们将原问题进行变换。即寻...
2017-11-27 23:48:49 1189
原创 Java实现归并排序
归并排序是一种分治的排序方法。分治法的基本思想是将原问题分解为几个规模较小,但是与原问题类似的子问题,分而治之,求解这些子问题,最后将子问题的解合并成原问题的解,当然这个过程需要递归,就是将子问题再分解为子问题,直至可以直接求解。 分治模式在每层递归都有三个步骤:(1)把原问题分解为子问题;(2)分别求解子问题;(3)将子问题的解合并。归并排序完全遵循这个模式,其步骤包括:将待
2017-11-27 19:11:39 262
原创 用星坐标(Star Coordinates)表示高维数据
星型坐标是Kandogan在2001年提出的一种高维数据的可视化方法。这种方法类似于向量的合成,在二维平面上选取一点作为坐标原点,对于D维的数据,从原点出发作出D个向量(轴)代表这D个维度,向量(轴)的长度代表在星坐标表示时各个维度的权重。这种方法本质上是一个向量合成,类似于我们在物理中学的力的合成。也可以说是一个从D维到2维的一个投影变换。要实现较好的效果,要使每一个数据点到它所属类的类中心点的
2017-11-26 14:44:04 4804 5
原创 用MATLAB的GUI绘图的一个简单例子
本文参考自https://jingyan.baidu.com/article/0f5fb099ade1626d8334ead0.html,略加改动。常用MATLAB进行一些计算,使用GUI功能的话调整参数的时候会比较方便。首先在MATLAB中选择新建图形用户界面我们可以从左边拖拽我们想要添加的组件,来绘制界面。双击相应的组件,我们可以在弹出的框中修改组件的一些属性,比如
2017-11-24 19:12:59 87909 16
原创 C++ Primer Plus课后编程练习——第七章 函数-C++的编程模块(部分)
1、编写一个程序,不断要求用户输入两个数,直到其中的一个为0。对于每两个数,程序将使用一个函数来计算它们的调和平均数,并将结果返回给main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数。#includeusing namespace std;double average(double a, double b){ double c = 1 / (1 / a + 1 / b);
2017-11-03 11:18:01 661
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人