
算法
什么 IT
科技之美... 头条- 什么IT 小红书- 什么IT 公众号- 脑动力工场
展开
-
俄罗斯方块——Java版
[java] view plaincopyprint?package Karl.Doenitz; import java.awt.*; import java.awt.event.*; import javax.swing.*; @SuppressWarnings("serial") public class Tetris extends JFra转载 2014-08-06 13:40:00 · 998 阅读 · 0 评论 -
MATLAB入门教程
1.MATLAB的基本知识1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。小提转载 2016-10-09 10:23:05 · 628 阅读 · 0 评论 -
算法题29 从一个取值范围为1~N的不重复数列中找出所有满足两数和为N+1的数对
题目:一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。复杂度最好是O(n),如果是O(n2)则不得分。 算法:建立一个map. 对每个元素i,如果N+1-i不在map中,插入i,否则输出(i, map[i]).复杂度O(n).转载 2014-09-23 09:25:59 · 960 阅读 · 0 评论 -
基于LinkedHashMap实现LRU缓存调度算法原理及应用
在Android中实用LRU+软引用(弱引用)的方法来缓存图片,可以减少内存溢出的情况。实现思路:在把图片保存到LRU集合中的时候,同时保存在一个弱引用的集合之中,如果此元素被LRU算法删除,可能垃圾回收器还并没有回收,可以通过弱引用的集合获取到此引用。public LinkedHashMap (int initialCapacity, floa转载 2014-09-12 20:14:17 · 395 阅读 · 0 评论 -
Java中单链表的实现和单链表的反转(倒置)
单链表的实现用一组地址任意的存储单元存放线性表中的数据元素。以元素(数据元素的映象) + 指针(指示后继元素存储位置) = 结点。以“结点的序列”表示线性表,称作线性链表(单链表)。单链表是一种顺序存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素。 链表的结点结构: ┌──┬──┐ │data│next│转载 2014-08-06 18:41:08 · 894 阅读 · 0 评论 -
JAVA经典算法32题
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=转载 2014-08-06 16:41:04 · 373 阅读 · 0 评论 -
算法-10种排序算法总结
排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作 对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三转载 2014-08-07 14:12:35 · 512 阅读 · 0 评论 -
算法-Java中如何把两个数组合并为一个
在Java中,如何把两个String[]合并为一个?看起来是一个很简单的问题。但是如何才能把代码写得高效简洁,却还是值得思考的。这里介绍四种方法,请参考选用。一、apache-commons这是最简单的办法。在apache-commons中,有一个ArrayUtils.addAll(Object[], Object[])方法,可以让我们一行搞定:String[] bot转载 2014-08-07 14:09:54 · 661 阅读 · 0 评论 -
java-实现链表反转-递归和非递归实现
对链表中部分节点进行反转操作,这些节点相隔k个: 0->1->2->3->4->5->6->7->8->9 k=2 8->1->6->3->4->5->2->7->0->9 注意1 3 5 7 9 位置是不变的。 解法: 将链表拆成两部分: a.0->2->4->6->8 b.1->3->5->7->9 将a部分反转,再将a和b合并 ==update转载 2014-08-06 18:45:13 · 708 阅读 · 0 评论 -
Java经典算法大全
1.河内之塔..2.Algorithm Gossip: 费式数列.3. 巴斯卡三角形4.Algorithm Gossip: 三色棋5.Algorithm Gossip: 老鼠走迷官(一)6.Algorithm Gossip: 老鼠走迷官(二)7.Algorithm Gossip: 骑士走棋盘8.Algorithm Gossip: 八皇后9.Algorithm Gos转载 2014-08-06 19:45:38 · 757 阅读 · 0 评论 -
算法 -TreeSet类的排序问题
TreeSet支持两种排序方法:自然排序和定制排序。TreeSet默认采用自然排序。 1、自然排序 TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系,然后将集合元素按升序排列,这种方式就是自然排序。(比较的前提:两个对象的类型相同)。 java提供了一个Comparable接口,该接口里定义了一转载 2014-08-07 15:21:36 · 553 阅读 · 0 评论 -
算法经典面试题整理(java实现)
以下从Java角度解释面试常见的算法和数据结构:字符串,链表,树,图,排序,递归 vs. 迭代,动态规划,位操作,概率问题,排列组合,以及一些需要寻找规律的题目。1. 字符串和数组字符串和数组是最常见的面试题目类型,应当分配最大的时间。关于字符串,首先需要注意的是和C++不同,Java字符串不是char数组。没有IDE代码自动补全功能,应该记住下面的这些常用的方法。转载 2017-06-03 11:49:42 · 636 阅读 · 0 评论