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

dede多个网站怎么做wordpress cms主题vieu

dede多个网站怎么做,wordpress cms主题vieu,建设银行海外招聘网站,网站开发的一次性收益😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用查找算法。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…

😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍常用查找算法。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • :smirk:1. 算法介绍
    • :blush:2. C++实现

😏1. 算法介绍

查找算法的作用是在给定的数据集合中搜索目标元素或确定目标元素是否存在。它可以帮助我们快速地找到所需的数据,提供有效的数据访问和处理方式。

常用的查找算法有以下几种:

  1. 线性查找:也称为顺序查找,是最简单直接的查找算法。它从数据结构的起始位置开始,逐个比较元素,直到找到目标元素或遍历完整个数据结构。时间复杂度为O(n),其中n是数据结构中元素的个数。

  2. 二分查找:适用于已排序的数据结构(如有序数组)。它将目标元素与中间元素进行比较,根据比较结果确定目标元素在左半部分还是右半部分,并继续在该部分进行查找。通过每次排除一半的元素,二分查找能够快速定位目标元素。时间复杂度为O(log n)。

  3. 哈希表查找:利用哈希表数据结构实现的查找算法。哈希表根据关键字的哈希值存储元素,并提供快速的查找操作。通过将关键字映射到哈希表的索引位置,可以在常数时间内(平均情况下)找到目标元素。哈希表查找的平均时间复杂度是O(1),但在最坏情况下可能达到O(n)。

  4. 二叉搜索树查找:利用二叉搜索树数据结构实现的查找算法。二叉搜索树是一颗有序二叉树,对于树中的每个节点,左子树中的所有节点的值小于当前节点的值,右子树中的所有节点的值大于当前节点的值。通过比较目标值与当前节点的值,可以决定继续在左子树还是右子树中进行查找。二叉搜索树查找的平均时间复杂度为O(log n),但在最坏情况下可能达到O(n)。

  5. 平衡二叉搜索树查找:为了解决二叉搜索树在某些情况下退化成链表的问题,引入了平衡二叉搜索树(如AVL树、红黑树)。这些树通过自平衡机制保持树的平衡性,从而保证查找操作的平均时间复杂度为O(log n)。

  6. 插值查找:是二分查找的变体,用于在有序数组中进行查找。它不像二分查找每次都将查找范围一分为二,而是根据目标值与数组元素的分布情况,在靠近目标值的位置更有可能找到目标元素。最好情况下的时间复杂度为O(1),最坏情况下为O(n),平均情况下为O(log log n)。

😊2. C++实现

#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>// 线性查找
int linearSearch(const std::vector<int>& arr, int target) {for (int i = 0; i < arr.size(); i++) {if (arr[i] == target) {return i;}}return -1;  // 没有找到目标元素
}// 二分查找(针对已排序数组)
int binarySearch(const std::vector<int>& arr, int target) {int left = 0;int right = arr.size() - 1;while (left <= right) {int mid = left + (right - left) / 2;if (arr[mid] == target) {return mid;} else if (arr[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return -1;  // 没有找到目标元素
}// 哈希表查找
int hashTableSearch(const std::unordered_map<int, int>& table, int target) {auto it = table.find(target);if (it != table.end()) {return it->second;}return -1;  // 没有找到目标元素
}int main() {std::vector<int> arr = {10, 25, 4, 15, 8, 36};// 线性查找int target1 = 15;int index1 = linearSearch(arr, target1);if (index1 != -1) {std::cout << "线性查找:" << target1 << " 的索引为 " << index1 << std::endl;} else {std::cout << "线性查找:没有找到 " << target1 << std::endl;}// 二分查找前需要将数组排序std::sort(arr.begin(), arr.end());// 二分查找int target2 = 25;int index2 = binarySearch(arr, target2);if (index2 != -1) {std::cout << "二分查找:" << target2 << " 的索引为 " << index2 << std::endl;} else {std::cout << "二分查找:没有找到 " << target2 << std::endl;}// 哈希表查找std::unordered_map<int, int> table;for (int i = 0; i < arr.size(); i++) {table[arr[i]] = i;}int target3 = 8;int index3 = hashTableSearch(table, target3);if (index3 != -1) {std::cout << "哈希表查找:" << target3 << " 的索引为 " << index3 << std::endl;} else {std::cout << "哈希表查找:没有找到 " << target3 << std::endl;}return 0;
}

编译运行:

g++ -o main main.cpp && ./main
线性查找:15 的索引为 3
二分查找:25 的索引为 4
哈希表查找:8 的索引为 1

在这里插入图片描述

以上。

http://www.yayakq.cn/news/61023/

相关文章:

  • wordpress公众号验证码昆明seo推广公司
  • h5网站建设 网站定制开发wordpress企业仿站
  • 四川seo整站优化费用湛江专业建站优质商家
  • 青岛的网站设计公司高明骏域网站建设
  • 手机网站转换小程序株洲高端网站建设工作室
  • 电影网站开发iis7.5网站配置
  • 怎么样查看网站开发语言杭州网站制作平台公司
  • 网站建设好了却收不到成都广告设计公司排名
  • 昆明网站开发推广公司房产网 最新楼盘价格
  • 开封市住房和城乡建设局网站网站建设与管理的就业方向
  • 爱网站长尾关键词挖掘工具做ps可以在哪些网站上找素材
  • 山东省住房和城乡建设厅网站教育中心苏州吴中区做网站
  • 淄博网站建设网站推广优化seo服务理念
  • 郑州优化网站公司商场建设相关网站
  • 网站被黑客入侵怎么办网站运营周期
  • 网站资料清单常见的网站建设类型都有哪些方面
  • 深圳高端网站制作公司关键词代发包收录
  • 谷歌网站排名个人如果做网站赚钱
  • 河南艾特 网站建设全国企业信用信息系统网官网登录
  • 非洲购物网站排名腾讯微信朋友圈广告代理
  • 眼科医院网站设计怎么做定制wordpress
  • 安徽两学一做专题网站h5页面怎么生成链接
  • 弹窗广告最多的网站长沙网页设计公司排名
  • 开关网站建设宁波网站建设制作网络公司
  • 杭州建设网站需要多少钱网站建设模范代码
  • 网站建设怎么报价表平面设计有哪些公司
  • 创建虚拟网站做点击公司做网站的钱网银转账用途
  • 宁波江东区网站建设工作室注册流程及需要的材料
  • 银行官方网站陕西手机网站建设
  • 做网站定金交多少合适汇源企业网络营销策划