当前位置: 首页 > news >正文

西安网站制作公司排日本免费服务器ip地址

西安网站制作公司排,日本免费服务器ip地址,佛山免费网站建设,安仁做网站1、二分查找法 二分查找法有一个很重要的前提条件:即待查找的序列必须是已经排好序的。 假设元素序列是按升序排列,将序列中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将序列分…

1、二分查找法

    二分查找法有一个很重要的前提条件:即待查找的序列必须是已经排好序的。

    假设元素序列是按升序排列,将序列中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将序列分成前、后两个子序列,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子序列,否则进一步查找后一子序列。重复以上过程,直到找到满足条件的记录,查找成功,返回元素在序列中的索引,或直到子序列不存在为止,此时查找失败,返回-1。

代码示例如下:

int find2(int *array,int n,int val)
{if (n<=0){return -1;}int begin=0,end=n-1,mid;while(begin<=end)            {mid=(begin+end)/2;if (array[mid]==val)return mid;else if(array[mid]>val)end=mid-1;elsebegin=mid+1;}return -1;
}

2、使用二分查找树查找

    首先创建一颗二分查找树,我们知道二分查找树的特点是左子树的值都比根节点小,右子树的值都比根节点大,且二分查找树的中序遍历所得到的元素是排好序的。

//二叉查找树数据结构
typedef struct Btree 
{int data;Btree *left;Btree *right;
}*PBTree;//创建二叉查找树,返回树的根节点
PBTree CreateBTree(int *array,int n)
{PBTree root=new Btree;root->data=array[0];root->left=NULL;root->right=NULL;PBTree current,back,pNew;for (int i=1;i<n;i++){pNew=new Btree;pNew->data=array[i];pNew->left=pNew->right=NULL;current=root;while(current!=NULL)   //找到合适的插入位置{back=current;if(current->data>array[i])current=current->left;elsecurrent=current->right;}if(back->data>array[i])back->left=pNew;elseback->right=pNew;}return root;
}//利用二叉查找树进行递归查找
bool find3(PBTree root,int val)
{if (root==NULL)return false;if (root->data==val)return true;else if(root->data>val)return find3(root->left,val);elsereturn find3(root->right,val);
}

3、总结

    二分查找有非常严格的限制条件(序列必须是有序的);

    而使用二分查找树,则会自动创建出"有序树"(中序遍历得到的序列是有序的);

    不考虑二叉查找树的建立时间,二者的效率一样,均为O(logn)。

转载于:https://www.cnblogs.com/beipiaoboy/p/3254665.html

http://www.lbrq.cn/news/2779543.html

相关文章:

  • 网站怎么做要多少钱上海市人大常委会
  • 怎样上传网站程序兰州seo实战优化
  • 如何做高并发网站的架构设计杭州百度快速排名提升
  • 沈阳做网站一诚金网络专业360广告联盟平台
  • 学做网站要学什么软件百度网盘电脑版下载
  • 家具行业做那个国际网站比较好搜索引擎营销的特点是
  • 小说网站开发猪八戒软文素材
  • 注册完域名 如何做网站张家口网站seo
  • 福田欧曼故障灯图解大全东莞网站优化关键词排名
  • 阿里云免费网站备案搭建网站平台需要多少钱
  • 男女直接做视频网站营销策略有哪些有效手段
  • 大良做网站哈尔滨网站推广
  • 石家庄网站建设就找企行家网络宣传平台有哪些
  • 杭州网站模板建站免费发布友链
  • 网站的会员系统怎么做seo销售
  • 山东济南网站建设公司计算机基础培训机构
  • 西安做网站推广宣传推广网络推广
  • 微信编辑器做网站百度搜索竞价推广
  • 临朐网站建设定制首选哪家公司成都网络营销推广
  • 太原网站制作建设怎么自己建网站
  • 印江建设局网站百度搜索引擎盘搜搜
  • 大学生做兼职的网站有哪些站长网站大全
  • 手机网站营销的网站西安网站公司推广
  • 广东省建设信息网站企业网站建设公司
  • 专业建设网站哪家好百度快照是什么
  • 网站方案案例怎么做seo综合查询平台官网
  • 招工网站58同城朔州seo
  • 做网站什么科目宁波最好的seo外包
  • 好的网站建设天津seo管理平台
  • 手机app网站模板下载windows优化大师和鲁大师
  • 【Ansible】变量、机密、事实
  • 走进数字时代,融入数字生活,构建数字生态
  • 字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent
  • LeetCode 837.新 21 点:动态规划+滑动窗口
  • 奈飞工厂 —— 算法优化实战推荐
  • Vue组件生命周期钩子:深入理解组件的生命周期阶段