算法学习日志(一)
来源:互联网 发布:php支付宝支付开发流程 编辑:程序博客网 时间:2024/06/05 04:22
看了MIT的算法导论视频,觉得很不错,就用JAVA把视频里的算法写了出来。
插入排序
private void insertSort(int[] a){int now,tmp;for(int i = 1;i < a.length; ++i){now = i; tmp=a[i];for(int j=i-1;j>-1; --j){if(tmp<a[j]){ a[now]=a[j];--now;}else {break;}}a[now]=tmp;}}
归并排序
private void mergeSort(int[] a){if(a.length==1){return;}else{int i = 0;int[] b = new int[a.length/2],c = new int[a.length-a.length/2];for(int j = 0;i<a.length/2;++i,++j){b[j] = a[i];}for(int j=0;i<a.length;++i,++j){c[j] = a[i];}mergeSort(b);mergeSort(c);int k = 0, l = 0;i=0;do{if(k==b.length){a[i] = c[l];++i;++l;}else if(l==c.length){a[i] = b[k];++i;++k;}else if(b[k]<c[l]){a[i] = b[k];++i;++k;}else{a[i] = c[l];++i;++l;}} while(i<a.length);}}
- 算法学习日志(一)
- 算法分析学习日志(一):选择问题与冒泡算法
- python学习日志(一)
- QT学习日志(一)
- Flex学习日志(一)
- Linux学习日志(一)
- Java学习日志(一)
- JAVA学习日志(一)
- 代理服务器学习日志(一)
- MySQL++学习日志(一)
- cntk学习日志(一)
- Linux学习日志(一)
- Docker 学习日志(一)
- lucene学习日志(一)
- Java 学习日志(一)
- Spring学习日志(一)
- openCV学习日志(一)
- python学习日志(一)
- 成员函数的指针:选择器
- 谁在签收您的信用卡挂号信
- 一次U盘文件变乱码的恢复
- 前端优化总结
- 这不是意外
- 算法学习日志(一)
- Libavfilter Documentation
- 范德蒙很等式 By ACReaper
- make logo for linux kernel
- n个人围成一圈,凡报到3的人退出
- 错误137 (net::ERR_NAME_RESOLUTION_FAILED)
- ubuntu 12.10 安装 MyEclipse 10.7
- 索引与散列
- MFC的Ribbon开发设计