Fork me on GitHub

数据结构---查找(1)

一、线性表查找

1.顺序表查找和链表的普通查找因为比较简单,暂时没有写,以后复习补上。

2.折半查找:

折半查找也称为二分查找,适用于顺序存储结构并且数据元素按照关键字大小排序的线性表。

思路:对于给定值k,从有序表的中间位置开始比较,如果当前数据元素的关键字等于k,则查找成功;否则,若k小于当前数据元素的关键字,则在有序表的前半部分继续查找;反之,则在有序表的后半部分继续查找,直到完成。

步骤:1)设查找给定值k,给left和right初始值,确定有序表长度为n,则mid=(left+right)/2,比较k与table[mid]

        2)若k>table[mid],则在有序表的后半部分查找,若k<table[mid],则在有序表的前半部分查找。

        3)再比较与table[mid],重复第二步,直至成功。

描述:

算法:

 

Code

 

顺便介绍一个折半插入排序:

Code

 

实在不想写到排序里面了,以后再介绍折半插入排序的思路和步骤。

 

 

 

posted @ 2009-04-15 18:42  idoku  阅读(168)  评论(0编辑  收藏  举报