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

湖南网站建设磐石网络网站制作的服务怎么样

湖南网站建设磐石网络,网站制作的服务怎么样,可靠的合肥网站建设,网站建设行1. 排序算法&#xff08;例如快速排序&#xff09; 快速排序是一个常见的排序算法&#xff0c;其平均时间复杂度为 O(n log n)。 快速排序的 C 实现&#xff1a; cpp #include <iostream> using namespace std;// 快速排序算法 void quickSort(int arr[], int low, in…

1. 排序算法(例如快速排序)

快速排序是一个常见的排序算法,其平均时间复杂度为 O(n log n)。

快速排序的 C++ 实现:

cpp
#include <iostream>
using namespace std;// 快速排序算法
void quickSort(int arr[], int low, int high) {if (low < high) {int pivot = arr[high];  // 选择最后一个元素作为 pivotint i = low - 1;  // i 是分区的边界for (int j = low; j < high; j++) {if (arr[j] < pivot) {  // 如果当前元素小于 pivoti++;swap(arr[i], arr[j]);}}swap(arr[i + 1], arr[high]);  // 将 pivot 放到正确的位置int pi = i + 1;  // pivot 的位置// 递归调用快速排序,分别对左半部分和右半部分进行排序quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}
}int main() {int arr[] = {10, 80, 30, 90, 40, 50, 70};int n = sizeof(arr) / sizeof(arr[0]);cout << "原始数组: ";for (int i = 0; i < n; i++) {cout << arr[i] << " ";}cout << endl;quickSort(arr, 0, n - 1);cout << "排序后的数组: ";for (int i = 0; i < n; i++) {cout << arr[i] << " ";}cout << endl;return 0;
}

2. 二分查找算法

二分查找是一个效率较高的查找算法,其时间复杂度为 O(log n),适用于已排序数组。

二分查找的 C++ 实现:

cpp
#include <iostream>
using namespace std;// 二分查找
int binarySearch(int arr[], int n, int target) {int left = 0, right = n - 1;while (left <= right) {int mid = left + (right - left) / 2;  // 计算中间位置// 如果目标值等于中间元素,返回其位置if (arr[mid] == target)return mid;// 如果目标值小于中间元素,忽略右半部分if (arr[mid] > target)right = mid - 1;// 如果目标值大于中间元素,忽略左半部分elseleft = mid + 1;}return -1;  // 如果没找到目标值,返回 -1
}int main() {int arr[] = {1, 3, 5, 7, 9, 11, 13, 15};int n = sizeof(arr) / sizeof(arr[0]);int target = 7;int result = binarySearch(arr, n, target);if (result != -1)cout << "元素 " << target << " 在索引 " << result << " 处找到" << endl;elsecout << "元素 " << target << " 未找到" << endl;return 0;
}

3. 最大子数组和(动态规划)

最大子数组和是经典的动态规划问题,通常使用 Kadane 算法解决。

最大子数组和的 C++ 实现:

cpp
#include <iostream>
#include <climits>
using namespace std;// 动态规划求最大子数组和
int maxSubArraySum(int arr[], int n) {int max_so_far = INT_MIN;int max_ending_here = 0;for (int i = 0; i < n; i++) {max_ending_here += arr[i];if (max_so_far < max_ending_here)max_so_far = max_ending_here;if (max_ending_here < 0)max_ending_here = 0;}return max_so_far;
}int main() {int arr[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};int n = sizeof(arr) / sizeof(arr[0]);cout << "最大子数组和是: " << maxSubArraySum(arr, n) << endl;return 0;
}

4. 深度优先搜索(DFS)

深度优先搜索是图遍历中的一种算法,适用于图的遍历和搜索问题。

深度优先搜索(DFS)的 C++ 实现:

cpp
#include <iostream>
#include <vector>
#include <stack>
using namespace std;void DFS(int start, vector<vector<int>>& adjList, vector<bool>& visited) {stack<int> s;s.push(start);visited[start] = true;while (!s.empty()) {int node = s.top();s.pop();cout << node << " ";for (int neighbor : adjList[node]) {if (!visited[neighbor]) {s.push(neighbor);visited[neighbor] = true;}}}
}int main() {int n = 5;  // 图的节点数vector<vector<int>> adjList(n);// 构造无向图的邻接表adjList[0] = {1, 2};adjList[1] = {0, 3};adjList[2] = {0, 4};adjList[3] = {1};adjList[4] = {2};vector<bool> visited(n, false);cout << "深度优先搜索结果: ";DFS(0, adjList, visited);cout << endl;return 0;
}
http://www.dtcms.com/wzjs/48207.html

相关文章:

  • 专门做t恤的网站网站自助搭建
  • 给别人做网站在那里接单免费b站推广网站入口202
  • 专门做特卖的网站是什么济南seo网站关键词排名
  • jsp网站开发怎么调试上海企业优化
  • 网站开发 蔬菜网 的毕业论文热搜关键词
  • 做商城网站那个好深圳app推广平台
  • 湖南旅游网站开发千牛怎么做免费推广引流
  • 国外wordpress主题站看片子用什么app免费苹果手机
  • 电子书城网站开发项目概况一个关键词要刷多久
  • 四川省住房和城乡建设厅门户网站竞价排名是按照什么来计费的
  • 唐山网站建设优化方法百度精准引流推广
  • 为什么选择做游戏网站百度业务范围
  • 做微网站是订阅号还是服务号号微信推广引流方法
  • 备案用网站建设方案免费注册个人网站不花钱
  • 口碑好的盐城网站建设公司如何建立网站
  • 前端网站页面模板下载湖北疫情最新消息
  • 自己做的网站百度收录优化大师官方网站
  • 用java做电商网站东莞网络推广
  • 济南网站建设与维护济南百度
  • o2o平台有哪些网站宣传推广方案
  • 汕头市疫情最新情况宁波优化网页基本流程
  • 官方网站建设公司排名东莞seo优化
  • 线上课程怎么做网站seo资讯
  • 十大免费货源网站免费版权代写1000字多少钱
  • 网站数据库太大搬家还原500错误广州网络推广哪家好
  • wordpress盒子北京优化seo公司
  • 做网站编辑的感受广州专业seo公司
  • 设计一份包含网站建设范百度站内搜索代码
  • 使用ecs做主机做淘客网站广州网站seo地址
  • 广东上海专业网站建设公司关键词搜索爱站网