算法实现的细节

0. 总论

数据结构之于算法的实现,就如同:成员变量之于一个类、STL 的容器之于 STL 的其他组件

抽象:

  • 旅行商问题,将城市抽象为编号,0~N-1,这样最终行走的路径可以使用 vector path进行存储;

1. 指针和下标

指针和下标,实现算法的利器

2. –i 与 i–

  • (1)循环执行的次数不同

    m = 3;

    while (m--)
                // 执行三次循环
                // m = 3, m = 2, m = 1
    while (--m)
                // 执行两次循环
                // m = 2, m = 1

3. 是否首先排序会简化问题

  • (1)序列中最接近的两个数

    排序之后:将一个数和其余所有的数的比较转化为求相邻的两个数;同理若求序列中相差最大的两个数,排序之后,一步到位

4. 计数器(引用计数,reference counting)

它是许多垃圾回收系统(Garbage Collection, GC)的基本组件(这是一种内存管理形式,主要是用于回收那些不再被用到的对象,而不再不用到的一个基本判断指标即是是否引用计数为0),为各元素设置一个计数器 。

你可能感兴趣的:(算法)