与算法成为好朋友的七个要点
-
程序中的哨兵指的是什么
哨兵指的是一种含有特殊值的数据,可用于标识数据的结尾等。字符串的末尾用0表示,链表的末尾用-1表示,像这种特殊的数据就是哨兵。
算法中解决问题的步骤是明确的和有限的
通俗的解释算法就是指“把解决问题的步骤无一遗漏地用文字或图表示出来”。
计算机不靠直觉而是机械地解决问题
计算机不能自发地思考。因此计算机所执行的由程序表示的算法必须是由机械地步骤所构成的。
了解并应有典型算法
主要的典型算法
利用计算机的处理速度
无论是多么冗长繁琐的步骤,只要明确并且机械就能构成优秀的算法。
使用编程技巧提示程序执行效率
在考量用于解决同一问题的时候有多种算法的优劣时,可以认为转化为程序后,执行时间较短的算法更为优秀。比如使用哨兵。
找出数字间的规律
所有的信息都可以用数字表示,这也是计算机的特性之一。因此,为了构造算法,经常会利用存在于数字间的规律。比如在石头剪子布的游戏里,分别用0,1,2来表示,并通过数字之间的规律判断输赢的情况,可优化程序。