【编程珠玑】-啊哈!算法

【编程珠玑】-啊哈!算法


        一、二分搜索
                二分搜索可以说是无处不在,应用它的前提是,对象有序且在某一范围之内。

        二、基本操作的威力
                灵机一动,经过许久的思考,得出的解决方案或许就是一些基本操作的组合,不是吗?
                求逆代码:把ab变成ba,可以有如下的方法:ab->a rb->a rb r->(a rb r) r->ba
                   E.G.  n元向量左移i个位置
reverse( 0 , rotdist  -   1 );
reverse(rotdist, n
- 1 );
reverse (
0 , n - 1 );
      
        三、排序
                变位分词的应用,关键在于:选择标识和集中具有相同标识的单词

        四、原理
                1)排序:产生有序输出,将相等的元素集中在一起
                2)二分搜索
                3)标识:当使用等价类定义时,定义一种标识使同类中每一项都具有相同的标识,而该类之外的其它项则没有该标识,这是很有用的
                4)问题的定义:用户的需求才是程序设计的根本
                5)问题解决者的观点:优秀的程序员有点懒,他们坐下来等待灵机一动的出现而不急于使用最开始的想法编程
               

你可能感兴趣的:(【编程珠玑】-啊哈!算法)