我已经在某些文本中看到了关于算法分析和设计的剪切和粘贴样张的参考.在为优化问题证明最优子结构时,通常会在动态规划的上下文中提及它(参见第15.3章CLRS).它还显示了图形操作.
这种证明的主要思想是什么?我如何使用它们来证明算法的正确性或特定方法的便利性?
尝试是在awt画布上用鼠标绘制图形(现在是一条线).我第一次尝试java图形.所以不确定如何去做.这是我的第一次尝试:
package def.grafi;
import java.awt.Canvas;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Dra {
Frame f = new Frame();
public void disp() {
f.setBounds(100, 100, 200, 200);
MosL ml = new MosL();
Can c = new Can();
f.add(c);
c.addMouseListener(ml);
c.addMouseMotionListener(ml);
f.setVisible(true);
}
public static void main(String[] args) {
Dra d = new Dra();
d.disp();
}
public class MosL extends MouseAdapter {
int sx = 0;
int sy = 0; …Run Code Online (Sandbox Code Playgroud) 我想实现一个LRU cache,其中最近最少使用的元素将被异步驱逐.我目前的想法是使用a Dictionary存储<key,value>对,并跟踪对象的访问次数,以保持对SortedDictionary <key, timestamp>.我们的想法是让异步线程SortedDictionary从缓存中获取LRU项并从缓存中删除.但要实现这一点,SortedDictionary需要按值排序,而不是按值排序.
我可以使用一个单独的SortedList而不是SortedDictionary保持{key和timestamp}按时间戳排序,但是然后我将不得不进行"线性"查找以从列表中查找键(当我必须更新时间戳时,当再次访问相同的密钥时) - 如果可能的话,我正在寻找比线性更好的方法.有人可以分享想法来处理这个问题吗?
所以,我的问题归结为:
我要在<= logn时间内查找键以更新时间戳,同时能够根据时间戳对键进行排序.
想到了一个办法是保持SortedDictionary的<{key,timestamp},null>哪些订单基于{键,时间戳}的时间戳部分的按键.虽然这很好,但问题是hashcode()只需要返回key.hashcode()(用于在更新时间戳时查找),同时equals()还应该使用时间戳.所以,equals()并且hashcode()发生冲突,所以觉得这不是一个好主意......
Web服务器位于负载均衡器之后.我正在做一个HttpResponse.Redirect("另一个页面").此重定向是否会再次通过负载均衡器?我很困惑,因为这是服务器端重定向,而不是客户端的重定向.
我想知道这一点,以确定重定向的URL是否由负载均衡器确定的其他Web服务器提供服务.