Page 123 - 高中 信息技术 选择性必修1 数据与数据结构
P. 123

 5.2 查找







                         例4:斐波那契数列(Fibonacci),又称黄金分割数列,指的是由这样一组数组成的
                    数列:1,1,2,3,5,8,13,21,34,55,89,144,233,…
                         斐波那契数列的第一项是1,第二项也是1,从第三项开始,每一项的值都等于前两
                    项之和。在前面例2中,我们用迭代算法实现了对兔子繁殖数量组成的斐波那契数列的求
                    解。同样,斐波那契数列也可以用递归算法实现求解,其核心代码如下:



                         int fib(int n)  //定义递归函数fib,参数n是指数列的第几项
                         {
                             if(n==1||n==2) return 1; //当n=1或n=2时,返回1,结束递归

                             return fib(n-1)+fib(n-2);
                                             广东教育出版社
                             //当n>2时,本项的值等于前两项之和,调用函数fib来计算前两项fib(n-1)
                             //和fib(n-2)

                         }



                         交 流

                         分组交流,在日常学习、生活和工作中,有哪些活动或流程能体现递归的思想?



                       5.2             查找








                         在日常生活和学习中,我们经常要进行查找工作,例如从字典中查找汉字、单词,

                    从电话号码本中查找电话,在图书馆中查找图书,高考查询成绩等。其实,“电话号码
                    本”“字典”等都可以看作一张表,查找则是在一个含有众多数据元素(或记录)的表中
                    找出某个特定的数据元素(或记录)。在信息时代,由于信息量巨大,人工查找是非常困
                    难的,甚至是无法办到的,所以必须依靠计算机才能快速、准确地查找信息。




                      5.2.1 顺序查找




                         顺序表是指采用顺序存储的方式存储的集合或线性表。在本章,我们主要探讨一维数
                    组这种顺序表的顺序查找和二分查找方法。
                         顺序查找也称为线性查找,它的基本思想是:从顺序表的一端开始,将每个元素的关
                    键字与给定值k进行比较,如果相同,则表明查找成功,返回该元素的下标;如果在所有
                    元素都进行了比较后,仍找不到关键字为k的元素,则表明查找失败,返回特定值-1。

                         在超市中,要实现查询某商品在哪个货架,我们可以用数组存储商品的编号、存放的
                    货架等信息。程序运行时,输入需查询商品的编号,然后在数组中依次查找编号,就可查

                                                                                                                    115115







          21X2204.indd   115                                                                                       2019/10/6   17:17:04
   118   119   120   121   122   123   124   125   126   127   128