1, 算法:
通俗定义:
解题的方法和步骤
狭义定义:
对存储数据的操作
对不同的存储结构, 要完成某一个功能所执行的操作是不一样的
比如:
要输出数组中所有的元素的操作和要输出链表中所有元素的操作肯定是不一样的
这说明:
算法是依附于存储结构的
不同的存储结构, 所执行的算法是不一样的
广义定义:
广义的算法也叫泛型
无论数据是如何存储的, 对该数据的操作都是一样的
2, 位运算符
& : 按位与 (&&: 逻辑与)
| : 按位或 ( || : 逻辑或)
~ : 按位取反 ~i 就是把 i 变量所有的二进制位取反
^ : 按位异或
<<: 按位左移 i<<3 表示把 i 的所有二进制位左移 3 位, 右边补零; 左移 n 位相当于乘以 2 的 n 次方, 前提是数据不能丢失
>>: 按位右移 i>>3 表示把 i 的所有二进制位右移 3 位, 左边一般是 0, 当然也可能补 1; 右移 n 位相当于除以 2 的 n 次方, 前提是数据不能丢失
A)i=i*8;B)i=i〈<3;
A) i=i/8; B)i=i>>3;
上述语句中, 语句 B 执行的速度更快
来源: http://www.bubuko.com/infodetail-3495198.html