数据结构与算法

Posted mimihuhudeliwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法相关的知识,希望对你有一定的参考价值。

1.什么是算法

自己的理解就是解决问题的方法。

工作的本质就是解决问题--彼得德鲁克

2.循环

循环四要素:初始化变量、循环的条件、循环变量的变化迭代、循环的代码块

while:先判断循环条件,后执行循环体;

do while:先执行一次循环体,再判断循环条件;

两者区别:正常运行情况下,while会比do while多判断一次,输出结果一致;

                 异常运行情况下,while内循环体不执行,do while会运行一次循环体;

技术分享图片
public class algorithm{
    public static void main(String[] args){
    
        int a = 1;
        while(a<5){
            
            System.out.println(a);
            a++;
            
        }
        
        int b = 1;
        do{
            
            System.out.println(b);
            b++;
            
        }while(b<5);
        
    }
    
}
View Code

找出所有水仙花数:

技术分享图片
public class algorithm{
    
//水仙花数:一个三位数 个十百的立方和等于这个数本身;选出所有水仙花数
    public static void main(String[] args){
        
        int a = 100;
        
        while(a<1000){
            
            int b = a/100;
            int c = a/10%10;
            int d = a%10;
            
            if(a == b*b*b + c*c*c +d*d*d){
                
                System.out.println(a);
                
            }
            
            a = a+1;
        }        
    }    
}
View Code
技术分享图片
public class algorithm{
    
//水仙花数:一个三位数 个十百的立方和等于这个数本身;选出所有水仙花数
    public static void main(String[] args){
        
        for(int a = 100; a<1000; a++){
            
            int b = a/100;
            int c = a/10%10;
            int d = a%10;
            if(a == b*b*b+c*c*c+d*d*d){
                System.out.println(a);
            }
            
        }
        
    }    
}
View Code

遍历数组,找出最大值/最小值

技术分享图片
public class algorithm{
    
//遍历数组a[],找出最大值
    public static void main(String[] args){
        
    int a[] = {1,2,3};
    int x = a[0];
    
    for(int i=0; i<a.length; i++){
            
        if(a[i]>x){
            
            x = a[i];
            
        }        
    }
    
    System.out.println(x);
    
    }    
}
View Code

冒泡排序

技术分享图片
public class algorithm{
    
//遍历数组a[],按照由大到小进行排序
    public static void main(String[] args){
        
    int a[] = {1,3,2,8,7};
    
    for(int i=0;i<a.length-1;i++){
        for(int j=0;j<a.length-1-i;j++){
            
            if(a[j]<a[j+1]){
                int x=a[j];
                a[j] =a[j+1];
                a[j+1] =x;
                
            }            
        }        
    }
    for(int i=0;i<a.length;i++){
        System.out.println(a[i]);
    }
    }    
}
View Code

以上是关于数据结构与算法的主要内容,如果未能解决你的问题,请参考以下文章

片段(Java) | 机试题+算法思路+考点+代码解析 2023

编程思想与算法

常用编程思想与算法

伪代码

机器学习3_EM算法与混合高斯模型

可以解密加密数据的片段吗?