- 博客(13)
- 收藏
- 关注
转载 一道算法作业题(续)
Description在一个圆形操场的四周摆放着n堆石子,现要将石子有次序地合并成一堆。规定每次只能选择相邻的两堆石子合并成新的一堆,并将新一堆石子数记为该次合并的得分。试设计一个动态规划算法,计算出将n堆石子合并成一堆的最小得分和最大得分,要求列出递归方程,写出算法的伪代码并分析算法的时间空间复杂性。分析要求每次合并必须是相邻的,和矩阵链乘的括号作用差不多。可以考虑往矩阵链乘最...
2018-06-14 10:48:00
881
转载 一道算法作业题
Description将一根木棒折成若干份,每折一次的代价是当前这段木棒的长度, 总代价是折这根木棒直到满足要求所需要的所有操作的代价。例如,将一根长度为10的木棒折成四段,长度分别为2, 2, 3, 3,如果先折成长度为2和8的两段,再将长度为8的折成长度为2和6的两段,最后将长度为6的折成长度为3的两段,这些操作的代价是10+8+6=24;如果先折成长度为4和6的两段,在分别将长度...
2018-06-13 20:06:00
633
转载 Software Construction Series (5)
在编写多线程的时候遇到这样一个问题,在多个线程中往同一个集合中添加元素,最后在统一遍历进行处理。然而在实际运行中可有能会出现报错:NullPointerException || IndexOutOfBoundsException。然而在添加元素和遍历元素的过程中理应是不可能出现这样的问题的。但是考虑到多线程,其实可能出现这样一种情况:List<Integer> l = ...
2018-06-09 16:21:00
142
转载 Software Construction Series(4)
在进行Coding时,常常遇到这样一种情况:设计的ADT,将来可能要扩展某些操作,但根据OCP原则,不应当修改已经实现的代码,所以需要提前留下扩展手段。设计模式中的Visitor模式就是契合这样一种设计理念的方法。先看它的UML模型:模型看起来有些复杂,不妨先明确几个概念:Visitor模式的实质1、封装一些数据结构的各元素操作,降低操作间的耦合性。2、将数据结构和数据...
2018-06-04 22:05:00
154
转载 Software Construction Series(3)
在Code时经常会遇到大量使用if-else或者case的情况,往往会把Code的Smell变坏。其中一种情况具有这样的结构:class shape { String type; String getType(); ...}class Circle extends Shape { Circle() { super.type = "Circle"; ...
2018-06-03 10:08:00
100
转载 Software Construction Series(2)
Collections.unmodifiable*()与Rep ExposureJDK在collections接口中提供了一类静态函数:collections.unmodifiable*(),其中*匹配Collections的子类。如图:简而言之:这类函数返回一个相应对象的不可更改的Copy。问题在于不可更改性到那种程度:1、相当于final?(即reference不可变)...
2018-04-02 20:55:00
113
转载 HDOJ-1030
Delta-waveTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10158 Accepted Submission(s): 4092Problem DescriptionA triangle field is numbered...
2018-03-26 14:53:00
152
转载 HDOJ-1028
Ignatius and the Princess IIITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24006 Accepted Submission(s): 16689Problem Description"Well, i...
2018-03-25 15:41:00
129
转载 Software Construction Series(1)
Java在循环中删除list中元素的方法先说几个通常的错误:1、for循环遍历list for (int i = 0; i < list.size(); i++) { if (list.get(i).equals("del")) list.remove(i); }2、for each循环 for (S...
2018-03-25 15:34:00
116
转载 MIT 6.031 Software Construction Lab1-Part2-Personal-Art
利用Turtle Graphics制作一些比较有趣的图形。Turtle Graphics的模型支持点的连续移动,主要通过调用turn()和forward()方法。适合用来绘制连续函数的图象,可以利用平面解析几何知识制作图形。比如利用极坐标绘制对数螺线,心形线等等。这里介绍一种利用递归方法绘制一类有趣图形的方法。先看代码: private static void poly...
2018-03-04 09:23:00
287
转载 HDOJ-1011
Problem DescriptionYou, the leader of Starship Troopers, are sent to destroy a base of the bugs. The base is built underground. It is actually a huge cavern, which consists of many rooms connect...
2018-03-03 21:20:00
123
转载 算法导论第十六章
16.116.1-1int c[n+1][n+1];int b[n+1][n+1];for (int i = 0; i <= n; i++){ for (int j = 0; j <= n; j++) { c[i][j] = -1; b[i][j] = 0; }}void ACTIVITY_SELECTOR(int *s, int *...
2018-03-01 21:18:00
1022
转载 算法导论第十五章
15.115.1-1证明: T(n) = 1+\(\sum_0^{n-1}T(j)\) 令S(n) = \(\sum_0^nT(j)\) 则S(n) - S(n-1) = 1 + S(n-1) S(n) = \(2^{n+1}\)-1 T(n) = \(2^n\)15.1-2长度i1234价格pi146.54价格密度1...
2018-03-01 21:08:00
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人