`
hengjie10
  • 浏览: 22964 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表

冒泡排序

package cn.thj.algorithms; import java.util.Arrays; public class BubbleSort { /** * @author 谭恒杰 *   * 冒泡排序(BubbleSort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较如果他们的顺序错 * 误就把他们 ...
package cn.thj.algorithms; import java.util.Arrays; /** * @author 谭恒杰 * * 直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入 * 到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 * 算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。 * * 设数组为a[0…n-1]。 * 1. 初始时,a[0]自成1个有序区 ...
package cn.thj.algorithms; import java.util.Arrays; public class SelectSort { /** * @author 谭恒杰 * * 选择排序是常用内部排序的一种,常见的实现算法有直接选择排序算法和堆排序算法,选择排序的基本 * 思想是每次从待排数据中选择第n小的数据放到排序列表的第n个位置,假如共有N个数据待排,那么经过 * N-1次排序后,待排数据就已经按照从小到大的顺序排列了。   直接选择排序算法的思想比较简单:(假设数据放在一个数组a中,且数组的长度是N)   1:从a[0]-a[N-1]中选出最小的 ...
1、Ctrl+M:切换窗口的大小 2、Ctrl+Q:跳到最后一次的编辑处 3、Ctrl+/:在代码窗口中是这种//~注释。 4、Ctrl+D删除当前行 5.、Ctrl+Alt+↓:复制当前行到下一行(复制增加) 6、Ctrl+Alt+↑:复制当前行到上一行(复制增加) 7、Alt+↓:当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) 8、Alt+↑:当前行和上面一行交互位置(同上)* ] 9、Shift+Enter:在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) 10、Ctrl+L:定位在某行 (对于程序超过100的人就有福音了) 11 ...
程序员究竟该如何提高效率 “拖延症”这个名词近些年很火,似乎每个人都觉得自己的效率不高,很难集中注意力做好手头的事,那我们究竟该如何提高自己的工作效率呢,大牛来告诉你. Aaron Swartz写过一篇很有名的文章, ...
一 概述 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 二 适用性 1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 2.当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。 3.当一个对象必须通知其它对象,而它又不能假定其它对象是谁。 三 参与者 1.Subject(目标)目标知道它的观察者。可以有任意多个观察者观察同一个目标。提供注册和删除观察者对象的接口。 2.Observer(观察者) 为那些在目标发生改变时需 ...
1 概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2 适用性 1. 当一个系统应该独立于它的产品创建、构成和表示时。 2. 当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3. 为 ...
简单工厂模式 1. 目的 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 2 . 简单工厂模式的结构 1.Product 定义工厂方法所创建的对象的接口。 2.ConcreteProduct 实现Product接口。 3.Creator 声明工厂方法,该方法返回一个Product类型的对象。 Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。 可以调用工厂方法以创建一个Product对象。 4.C ...
acm常见算法及例题 初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra) (poj1860,poj3259,poj1062,poj2253,poj11 ...
Home Work
C语言实验题——保留整数
集合划分问题 ´问题描述: n 个元素的集合{1,2, , n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2 ,3,4}可以划分为15 不同的非空子集如下: {{1},{2} ,{3},{4}}, {{1,2} ,{3},{4}} , {{1,3},{2} ,{4}} , {{1,4} ,{2} ,{3}} , {{2,3},{1},{4}} , 其中,集合{{1,2 ,3,4}}由 1 个子集组成;集合{{1,2} ,{3,4}},{{1,3},{2,4}},{{1,4} ,{2,3}},{{1,2,3},{4}},{ ...
标准2 维表问题 ´问题描述: n 是一个正整数。2n 的标准2 维表是由正整数 1,2 ,…,2n 组成的2n 数组,该 数组的每行从左到右递增,每列从上到下递增。2n 的标准2 维表全体记为Tab(n) 。例如, 当n=3 时Tab(3)如下: 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 4 5 6 3 5 6 3 4 6 2 5 6 2 4 6 ´编程任务: 给定正整数n,计算Tab(n) 中2n 的标准2 维表的个数。 ´数据输入: 由文件input.txt 给出输入数据。第一行有1 ...
问题描述: 找出由n个数组成的序列的最长单调递增子序列 解法一: 原序列记为X,对n个数递增排序,构造一个新序列Y, 对X,Y求其最长公共子序列即可. /* * 最长单调递增子序列 * 问题描述: * 找出由n个数组成的序列的最长单调递增子序列 * 算法设计: * 解法一: * 原序列记为X,对n个数递增排序,构造一个新序列Y, 对X,Y求其最长公共子序列即可. * * auther:thj * date:2010/11/17 */ import java.util.LinkedList; import java.util.List; public class ...
整数因子分解问题 ´问题描述: 大于1 的正整数n 可以分解为:n=x1 *x 2*…*xm 。 例如,当n= 12 时,共有8 种不同的分解式: 12= 12; 12=6*2; 12=4*3; 12=3*4; 12=3*2*2; 12=2*6; 12=2*3*2; 12=2*2*3。 ´编程任务: 对于给定的正整数n,编程计算n 共有多少种不同的分解式。 ´数据输入: 输入数据第一行有1 个正整数n (1≤n≤2000000000) 。 ´结果输出:将计算出的不同的分解式数。 输入 输出 12 ...
Global site tag (gtag.js) - Google Analytics