【上班时间学算法】

各路算法-Java代码

算法示例图稍后呈现

插入排序

原理:每遍历数组里面一个元素,便遍历当前元素前面的所有元素

特点:准确率高、效率低

 1 int a[] = {2,4,1,8,9,20,11,34,12};
 2         //双重循环:外层进行数组长度次控制
 3         for(int i = 1; i < a.length ; i++){
 4             //内部让当前数和前面的所有数,进行比较
 5             for (int j = 0; j < i; j++) {
 6                 if(a[i] < a[j]){
 7                     //换位置
 8                     int temp = a[i];
 9                     a[i] = a[j];
10                     a[j] = temp;
11                 }
12             }
13
14         }
15         //打印
16         for(int item : a){
17             System.out.println(item);
18         }

快速排序(快排)

原理:分治思想实现,利用递归,对数组进行n次分区、比较,直接看代码

特点:在针对大数据、乱数据的情况下,效率极高

 1  public static void sort(int []a,int left,int right){
 2         int start = left;
 3         int end = right;
 4         //起始位小于终止位
 5         if(start < end){
 6             while(start < end){
 7                 //升序
 8                 if(a[start] >= a[end]){
 9                     //位置置换
10                     int temp = a[start];
11                     a[start] = a[end];
12                     a[end] = temp;
13                     //移动指标,下同
14                     start++;
15                 }else{
16                     end--;
17                 }
18             }
19             //左边
20             sort(a,left,end);
21             //右边
22             sort(a,end + 1,right);
23         }
24     }

...更多算法

时间: 2024-10-09 21:33:59

【上班时间学算法】的相关文章

1106: 零起点学算法13——求2个时间之间的分钟数

1106: 零起点学算法13--求2个时间之间的分钟数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 4320  Accepted: 1602[Submit][Status][Web Board] Description 水题 Input 输入2行,分别是2个时间,时间小时与分钟之间用:隔开(题目包含多组测试数据) Output 输出之间的分钟数(每组测试数据一行) Sample Input 12

1169: 零起点学算法76——绝对公正的裁判

1169: 零起点学算法76--绝对公正的裁判 Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitted: 510  Accepted: 336[Submit][Status][Web Board] Description 大家知道我们学校的OnlineJudge吗?,你知道他会告诉你什么呢? Compiling : 您提交的代码正在被编译.Running : 您的程序正在OJ上运行.Judging : OJ

程序员学习能力提升三要素(工作用什么,就练什么,不要在上班时间看书)

IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识.随时补充和丰富自己,已成为程序员职业发展的核心竞争力.本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点. 众所周知,现在是一个知识爆炸的时代,知识更新非常快.据测算,一个大学毕业生所学到的知识,在毕业之后2年内,有效的不过剩下5%.对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于我们现在掌握了多少知识,而是我们有多强的学习能力. 学习人人都会,但不同的人学习效果却千差万别.一个善于学习的人,

PHP-密码学算法及其应用-对称密码算法

转自:http://www.smatrix.org/bbs/simple/index.php?t5662.html //////////////////////////////////////////////////////////////////////////////目录1.    PHP的散列函数及其应用2.    PHP中的对称密码算法及其应用3.    PHP的公钥密码算法及其应用/////////////////////////////////////////////////////

0基础学算法 第二弹 排序

大家好啊,这是0算法基础学算法系列第二篇,上次我在第一弹里讲了关于流程图的内容,我寻思着,这次讲些什么好呢,于是我决定,教大家一个很基础的算法,那就是排序,排序有很多方法,如果你有更多方法请在评论区里留言哦. 排序在程序中特别实用,常用的有快速排序,桶排序,冒泡排序,插入排序等等,在这里我不建议使用冒泡排序或者插入排序,建议桶排序和快速排序,这两个排序非常实用,时间复杂度低,理解起来也很容易,首先,你先思考一下,怎么用程序进行排序,然后你再来看看你的思路合理不合理,最后试着用程序实现它,实现后你

1165: 零起点学算法72——首字母变大写

1165: 零起点学算法72--首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 705  Accepted: 439[Submit][Status][Web Board] Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Output 请输出按照要求改写后的英文句

1127: 零起点学算法34——继续求多项式

1127: 零起点学算法34--继续求多项式 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 3481  Accepted: 1985[Submit][Status][Web Board] Description 输入1个正整数n, 计算1+(1+2)+(1+2+3)+...+(1+2+3+...+n) Input 输入正整数n(多组数据) Output 输出1+(1+2)+(1+2+3)+...+

1128: 零起点学算法35——再求多项式(含浮点)

1128: 零起点学算法35--再求多项式(含浮点) Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 2141  Accepted: 1002[Submit][Status][Web Board] Description 输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...+2n-1)的值 Input 输入一个整数n(多组数据) Output 出1+1/(1

1097:零起点学算法04——再模仿一个算术题

1097: 零起点学算法04--再模仿一个算术题 Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitted: 2627  Accepted: 2202[Submit][Status][Web Board] Description 上题会模仿了吧.再来模仿一个. 现在要求你模仿一个乘法的算术题 Input 没有输入 Output 输出9乘以10的值 Sample Output 90 Source 零起点学算法