《数据结构与算法分析》第一章:引论
《数据结构与算法分析》第一章:引论
一.两个问题
(1)选择问题:设有一组N个数而确定其中的第k个最大者,已经初步处理。
(2)字谜问题:输入是由一些字母和单词的二维数组组成,目标是要找出字谜中的单词,这些单词可能是水平、垂直或者沿对角线以任何方式放置。
(3)重要观念:写出一个可以工作的程序是元远不够的,如果这个程序在巨大的数据集上运行,那么运行时间就变成了重要的问题。
二.数学知识
(1)指数公式
(2)对数公式
(3)级数公式
(4)模运算
(5)常用证明方法:归纳法 和 反证法
三.递归
(1)定义:当一个函数用它自己来定义时就称为是递归的。
(2)基本法则:
基准情形:必须有某些基准情形,他们不用递归就能求解。
不断推进:对于需要递归求解的情形,递归调用总是能够朝着产生基准情形的方向推进。
设计法则:假设所有的递归调用都能运行。
合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作。