讨论1:请回想一下曾经用过哪几种方法在自己的书架上放书。对于不同的方法,描述一下上述两个操作的步骤。然后想一想在容量巨大的图书馆里该如何存放图书,并且快速找到某一本指定的图书。整理出一封报告。
两个基本操作:
操作1:图书怎么插入?
操作2:怎么找到某本指定的书?
我的放书方法:
我书架上的图书,首先是按种类分,一种类别的书放一层,然后再把同种类别的图籍按从高到低的摆放在一层。我如果想在书架中插入一本书,我事先找到该书属于的层数,然后在这一层里找到中间的那本书,比较两本书的高矮,如果比中间的高,则再与前一半的图书的中间那本书比较,以此类推,找到摆放的位置。找到指定的书的方法就是按照书籍的名字找。
算法分析:该方法属于二分法。
百度查找:
1、二分查找(Binary Search)
二分查找又称折半查找它是一种效率较高的查找方法。
二分查找要求线性表是有序表即表中结点按关键字有序并且要用向量作为表的存储
结构。不妨设有序表是递增有序的。
2、二分查找的基本思想
二分查找的基本思想是设R[low..high]是当前的查找区间
1首先确定该区间的中点位置
2然后将待查的K值与R[mid].key比较若相等则查找成功并返回此位置否则须确定<