首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

20天jvava(五)

2012-10-15 
20天jvava(5)Java基础 day052011.7.211.什么是算法?算法是解决特定问题的方法

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:数组排序 - 选择排序 冒泡排序 插入排序
                     递归算法 
        
        
        
 
 

热点排行