算法是计算机科学领域最重要的基石之一,计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,数据结构和算法是软件开发必备的核心基础,是内功心法。例如: 推荐算法 -- 利用下班休息的 碎片时间进行推送,他们有的是根据你的关注和兴趣进行提醒,有的是根据当下社会热点惊醒推荐,还有的就是优惠券性质的推送。分类算法 -- 通过主观 + 客观 的方式进行识别。结果较差验证,结论更加靠谱。
案例:将学生的百分制成绩转换为五分制成绩: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;
}
因此,不同的算法程序的执行效率是不一样的,我们尽量找到最优算法,提高程序的执行效率。这些都离不开算法工程师的功劳。