二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。
二分查找原理很简单,但是边界条件容易出错,出现死循环等,要想彻底分清楚,应该要理解透彻
贪心算法:
从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到某算法中的某一步不能再继续前进时,算法停止。
该算法存在问题:
1. 不能保证求得的最后解是最佳的;
2. 不能用来求最大或最小解问题;
3. 只能求满足某些约束条件的可行解的范围。
实现该算法的过程:
1.从问题的某一初始解出发;
2.while 能朝给定总目标前进一步;
3.求出可行解的一个解元素;
总结:本专题中,除了几个水题外,大部分题目都是贪心算法,我完成的情况很不理想。感觉贪心算法概念和原理很简单,但是真正做题时,却很难找到思路。但是通过专题训练,也使我对贪心算法有了更深的理解,不过也没有达到理想的效果。希望先把上课时讲过的基本例题真正理解透,课下还是需要多花时间,多思考。