- 博客(18)
- 资源 (3)
- 收藏
- 关注
原创 最简单的算法- 二分查找
int binary_search(int src[],int len, int key){ int i=0,j=len-1; while(i<=j){ int mid = i + (j-i)/2; if(src[mid] == key) return mid; else if(key < src[mid]){
2016-04-27 14:39:47 539
原创 每天一种算法-归并排序
Java实现package bigo;public class merge { static void merge(int src[], int left,int right,int mid){ int i=left,j=mid; int m=mid+1,n=right; int k=0; int help[] = new in
2016-04-26 17:46:33 291
原创 每天一种算法-希尔排序
希尔排序就是 插入排序。是反复只用插入排序的结果。 因为插入排序,只是前后的元素进行比较,当序列很长的时候,效率会很低。 希尔排序假设一个h, 比较间隔为h的元素的大小。让需要移动的元素,每次可以移动尽量多的距离。然后逐步缩小h的取值。最后h会缩小到1。 这时候就完全是插入排序了。Java实现package bigo;public class insert { static void hi
2016-04-26 13:46:49 363
原创 c++模板
1定义函数模板#include<stdexcept>#include <sstream>#include <map>using namespace std;template <typename T>int cpmpare(T v1, T v2){ if(v1<v2) return -1; if(v1>v2) return 1; return 0;}int main
2016-04-25 20:17:28 409
原创 每天一种算法-插入排序
插入排序的基础是 ,如果只有一个元素,那么它已经是有序的了。 插入排序的过程是: 第一个元素已经是有序的了。 第二个元素插入第一个元素的有序集合。 第三个元素插入前两个元素的有序集合。 以此类推。插入有序集合的好处是 , 原来的集合已经是有序的了,只需要考虑一个新元素的位置就可以了。package bigo;public class insert { static void swa
2016-04-19 16:30:46 408
原创 每天一种算法 - 冒泡排序
冒泡排序,绝对是最寂寞的排序算法。 只有当整体已经很有序的时候,才会显示出较高的效率。 思想类似于 选择排序。 第一轮,选出最大的。 第二轮,在剩下的里面选出最大的。 以此类推。但是这种算法,假设每个元素只能看见它附近的元素,只和紧挨的元素进行比较。所以需要移动很多次元素。 而不能一步到位的移动元素。 多做许多废功。#include <iostream>using namespace
2016-04-18 19:44:42 466
原创 选择排序 Fortran代码
选择排序program main implicit none integer src(9) data src /9,1,8,2,7,3,6,4,5/ write(*,*) src call select_sort(src, size(src)) write(*,*) src endsubroutine select_sort(src
2016-04-18 16:55:28 3816
原创 每天一种算法--选择排序
选择排序是这样的, 首先,找到最小的一个数,放在第一个位置,然后在剩下的元素中,找到最小的 ,放在第二个位置,再在除过这两个元素的剩下的里面找到最小的,就是第三小。这样依次类推。最后得到的数列,就是从小到大了。package bigo;public class selectsort { private static void selectSort(int []src, int length
2016-04-15 11:02:34 371
原创 每天一种算法--快速排序
C++ 代码#include <iostream>using namespace std;void quick_sort(int src[], int left ,int right){ if(left >= right) return; int i=left, j=right; int key = src[left]; while(i!=j)
2016-04-14 17:12:09 326
原创 快速排序 java代码
作为一个程序员 不知道快速排序,不知其可也。快速排序的思路是,大千世界,有那么多人,那么多数。但所有的数,都和某个数去比较。这样就能保证,一半区域都是小于那个数的。 另一半都是大的。 这样就把大数据一份为2了。 再重复用这种方法。最终会遇到某两个数去相比较。每一个小家庭和谐了,那么整个社会就和谐了。多么伟大的思想。造就了这么好的算法。package bigo;public class quick
2016-04-14 11:11:43 1212
原创 redis 集群
创建redis集群时出现no such fileto load – rubygems问题的解决 http://www.iyunv.com/thread-18781-1-1.html 安装 rubygems http://storysky.blog.51cto.com/628458/1155353/
2016-04-12 20:40:13 457
原创 为什么 Redis 不支持回滚(roll back)
鉴于没有任何机制能避免程序员自己造成的错误, 并且这类错误通常不会在生产环境中出现, 所以 Redis 选择了更简单、更快速的无回滚方式来处理事务。
2016-04-12 11:26:38 3313
原创 Fortran 函数
子程序 subroutine 需要用 call来调用Fortran的子程序的 传参 是传递引用。 不是按值传递。函数和子程序的区别: 1,调用自定义函数 要声明 2,自定义函数执行后会返回一个数值。Fortran的函数返回值很有意思, 返回值 ,就是函数的名字。program main integer add write(*,*) add(1,4) en
2016-04-06 16:26:13 7918
原创 Fortran 循环
基本的do循环,相当于 forprogram main integer i i=1 outter : do i=1,5,1 write(*,*), i end do outter end do while循环program main integer i i=1 do while(i<10) write(*,*), i
2016-04-05 19:07:36 4719
原创 Fortran IF语句
简单的IF语句。program main integer a a=101 if (a>100) then write(*,*) "slow down" end if end 如果if中的 执行语句只有一条时,可以写成下面这样program main integer a a=101 if
2016-04-01 09:52:39 35001
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人