20天jvava(5)

Java基础 day05
2011.7.21
==========================
1.什么是算法?
算法是解决特定问题的方法和步骤,
包括2种基本算法:数组排序和递归
2.数组排序算法的基本方式:选择排序、冒泡排序和插入排序
3.选择排序(selectionSort)
1)原理:假定数组大小为n,依次进行n-1次循环(0..n-2),
在每次循环中选择最小的元素,将它和初始位置的元素互换。
2)伪代码:
selectionSort(data[])
for i=0 to data.length-2
从data[i],...,data[data.length-1]中
选取最小的元素;
将它和data[i]互换;
4.冒泡排序(bubbleSort)
1)原理:假定数组的大小为n,依次进行n-1次循环(0..n-1),
在每次循环中比较相邻的两个元素,如果后面的元素小于前面的元素,
就交换这两个元素的位置。
2)伪代码:
bubbleSort(data[])
for i=0 to data.length-2
for j=0 to data.length-i-1
if data[j]>data[j+1]
交换data[j]和data[j+1];

bubbleSort2(data[])
for i=0 to data.length-2
for j=data.length-1 downto i+1
if data[j]<data[j-1]
交换data[j]和data[j-1];

5. 插入排序(insertionSort)
1)原理:假定数组的大小为n,将数组依次拆分为前后两部分,
后组:[i,n-1], 前组[i,0],i从1到n-1循环,
将位置i的元素插入到前组的适当位置
2)伪代码:
insertionSort(data[])
for i=1 to data.length-1
temp = data[i];
for j=i downto 1
if temp<data[j-1] then
data[j]=data[j-1];
else break;
data[j]=temp; //此时j就是插入temp的位置
6. 递归算法
1)什么是递归:在一个方法内部调用当前方法称作方法的递归
2)规则:递归方旭需要包括一个出口语句,称作出口条件

7. Java基础总结
day01:java特点、JVM(理解java程序的执行过程)
区分jvm jre jdk,
通过命令编译运行java程序(javac java javadoc jar)
day02:变量、二进制、数据类型(8中基本数据类型和引用类型)
强制类型转换、方法的定义
程序结构:package语句
import语句
class的定义{
方法的定义{
语句->表达式->运算符
流程控制语句
}
}
day03:运算符:+-% = ++-- && &|^ ?:
分支结构- if..else

day04:分支结构 - switch
循环结构 - for while do..while break continue
数组 - 声明 初始化 使用 复制和扩展
day05:数组排序 - 选择排序 冒泡排序 插入排序
递归算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值