- 前言
- 注
- 分治算法(一)
- 例题一:二分查找(折半查找)
- 递归法
- 踩坑
- 非递归
之前主要是学人工智能相关的知识,从Python基础到数据分析到人工智能等等,那些知识一般是用到了,学习的过程中写的。当然本人对机器学习,深度学习的算法、公式了解还非常浅显,大部分都是结合各个博客自己总结的,所以理解不深入,也肯定有很多错误,等有空一定清理了那些水文
好久没更新博客了,主要是因为在准备考研,学了好久的数学了(暑假开始的,要不要和我一起卷?私聊我做个研友吧!!!嘿嘿嘿)
考计算机专业必须得要学算法与数据结构的啦,坚持每天都要学习算法,冲985!!!
这里以张新华三部曲为材料(想要电子版的可以私聊我),语言入门就不说了,学算法的肯定都会,今年先来第二部–基础算法艺术,明年专攻数据结构基础。
冲就完了,卷就硬卷!!!哈哈哈哈
- 下面就不啰嗦了,直接从例题开始讲解,由浅入深,有简到繁!!!
- 例题一般会用Python和c++两种语言写,以为做人工智能的嘛,第一语言是Python,第二语言是c++,但算法还是以c++为主。
- 我认为比较简单的就不说了,直接贴代码,比较难的尽量做图给大家展示。
- 会把自己做题过程中踩的坑分享给大家,希望大家不再踩坑、
折半查找也称二分法查找,是一种在有序数组中查找某一特定元素的搜索算法。这种方法要求待查找的表顺序存储而且必须是有序的。
对{2,5,6,9,17,23,54}中的17进行查找
#includeusing namespace std; int a[10] = {1,2,5,9,11,18,16,23,28,35}; int search(int key,int bot,int top){ int mid; if(top>=bot){ mid = (top+bot)/2; // 折半 if(key==a[mid]){ cout< 踩坑 非递归
为啥传不进去捏,因为下面:::
#includeusing namespace std; #define Max 1000 int a[10] = {1,2,5,9,11,18,16,23,28,35}; int key=6; int search(int bot,int top){ while(top>=bot){ int mid = (top+bot)/2; if(key==a[mid]){ cout<



