数据结构与算法-引论-练习1.1
来源:互联网 发布:php兼职 编辑:程序博客网 时间:2024/06/16 14:31
1.1 编写一个程序解决选择问题。令k = N/2。画出表格显示程序对于N种不同的值的运行时间。
- 创建随机数据代码
package unit1;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Random;public class CreateData { public static void main(String[] args) throws IOException { int n = 10000; Random random = new Random(); int[] datas = new int[n]; for (int i=0; i<n; i++) { datas[i] = random.nextInt(10000000); } File file = new File("e:/data.dat"); FileWriter fw = new FileWriter(file); BufferedWriter bw = new BufferedWriter(fw); for (int i =0; i<n; i++) { String temp = Integer.toString(datas[i])+" "; bw.write(temp); } bw.flush(); bw.close(); }}
- 排序算法代码
package unit1;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.Arrays;public class Work01 { public static void main(String[] args) throws IOException { long startTime = System.currentTimeMillis(); File file = new File("e:/data.dat"); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); StringBuffer sb = new StringBuffer(); int content = 0; while ((content = br.read()) != -1) { sb.append((char)content); } String str = sb.toString(); String[] strs = str.split(" "); int n = strs.length; int[] datas = new int[n]; for (int i=0 ; i<n; i++) { datas[i] = Integer.parseInt(strs[i]); } bubbleSort(datas); long time = System.currentTimeMillis()-startTime; System.out.println(time+" ms"); } public static void bubbleSort(int[] arr) { for (int i=0; i<arr.length-1; i++) { for (int j = 0; j < arr.length-1-i; j++) { if (arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } }}
测试5种数据的速度,分别是1万,2万,5万,10万, 20万
分别测3次的时间,再取平均时间。
可以观察到很明显的平方关系在其中,每当排序量倍数增长,所消耗的时间将会是倍数的平方。
0 0
- 数据结构与算法-引论-练习1.1
- ReviewForJob(1)数据结构与算法分析引论
- 数据结构与算法分析 | 01 | 引论
- 数据结构与算法分析再读之引论和算法分析
- 《数据结构与算法分析--c语言描述》之第一章:引论
- 《数据结构与算法分析》引论:选择问题实现
- 数据结构与算法分析(读书笔记):1.引论
- 算法引论数据结构--堆的简介与实现
- 数据结构与算法练习
- 数据结构与算法练习
- 《数据结构与算法分析》第一章练习1.1
- 数据结构与算法练习-递归
- 数据结构与算法练习-排序
- 数据结构与算法分析练习
- 数据结构与算法第一章练习
- 数据结构和算法分析(一) 引论
- 1:数据结构与算法分析(c语言描述)引论(1)
- 读书笔记:数据结构与算法分析(java语言描述)——引论
- 获得请求的方式
- QLineEdit 控制输入格式——正则表达式与输入掩码
- RESTful api设计相关博客推荐
- 观察者模式简单总结
- hadoop2.6.4完全分布式集群安装(一)实现基本集群环境
- 数据结构与算法-引论-练习1.1
- win10 右键添加cd命令
- 微信小程序之『仿 QQ 消息气泡拖拽消失』
- 基于JDK动态代理实现的接口链式调用(Fluent Interface)工具
- OAuth2.0认证和授权机制讲解
- [08]CSS 盒模型 (下)
- PT100高精度测温电路 AD623+REF3030(很稳定)
- 找了点快捷键
- CoordinatorLayout + AppBarLayout 实现标题栏置顶