1-1 算法导论

算法是计算机科学领域最重要的基石之一,计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,数据结构和算法是软件开发必备的核心基础,是内功心法。例如:  推荐算法 -- 利用下班休息的 碎片时间进行推送,他们有的是根据你的关注和兴趣进行提醒,有的是根据当下社会热点惊醒推荐,还有的就是优惠券性质的推送。分类算法 -- 通过主观  + 客观 的方式进行识别。结果较差验证,结论更加靠谱。

案例:将学生的百分制成绩转换为五分制成绩:290分:A,80~89分:B,70~79分:C,60~
69分:D,<60分:E。一般程序写法。这种写法我们没有考虑到学生成绩占比的计算次数,所以效率慢。我们换一种写法。因为我们需要考虑到60分数一下的学生半分比占有率不是特别的多,每个阶段的学生的百分比占有率都是多少,我们先判断百分比较大的人数,越小的越往后排列。

public static String getGrade(int grade){
        String result  = "";
        if (grade<60){
            result = "E";
        }else if (grade<70){
            result = "D";
        }else if (grade<80){
            result = "C";
        }else if (grade<90){
            result = "B";
        }else{
            result = "A";
        }
        return result;
    }

OR

public static String newGetGrade(int grade){
        String result  = "";
        if (grade<80){
            if (grade<70){
                if (grade <60){
                    result = "E";
                }else{
                    result = "D";
                }

            }else {
                result = "C";
            }
        }else if (grade<90){
            result = "B";
        }else {
            result = "A";
        }
        return result;
    }

 因此,不同的算法程序的执行效率是不一样的,我们尽量找到最优算法,提高程序的执行效率。这些都离不开算法工程师的功劳。

 

你可能感兴趣的:(自主文章记录,Java算法与数据结构)