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

做设计兼职网站网站建设分几种类型

做设计兼职网站,网站建设分几种类型,网站多久才能在百度上收到,哪些网站做企业招聘不要花钱描述 插入排序是一种简单直观的排序算法。它的基本思想是将一个待排序的数据序列分为已排序和未排序两部分,每次从未排序序列中取出一个元素,然后将它插入到已排序序列的适当位置,直到所有元素都插入完毕,即完成排序。 实现思路…

描述

插入排序是一种简单直观的排序算法。它的基本思想是将一个待排序的数据序列分为已排序和未排序两部分,每次从未排序序列中取出一个元素,然后将它插入到已排序序列的适当位置,直到所有元素都插入完毕,即完成排序。

实现思路

  1. 从第一个元素开始,将其视为已排序序列。
  2. 取出未排序序列的第一个元素,并将它与已排序序列的元素逐个比较。
  3. 如果找到一个已排序序列的元素大于待插入元素,将该元素后移一位。
  4. 重复步骤3,直到找到一个已排序序列的元素小于或等于待插入元素。
  5. 将待插入元素插入到这个位置。
  6. 重复步骤2-5,直到未排序序列中的所有元素都被插入到已排序序列中。

图解

image.png

代码

#include <iostream>
#include <vector>using namespace std;void insertionSort(vector<int>& arr) {int n = arr.size();for (int i = 1; i < n; ++i) {int key = arr[i];int j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}
}int main() {vector<int> arr = {9, 5, 7, 1, 3};insertionSort(arr);cout << "插入排序 :" << endl;for (int num : arr) {cout << num << " ";}cout << endl;return 0;
}

输出结果:
image.png

时间复杂度

根据循环次数,插入排序的平均时间复杂度为O(n2),最好情况下为O(n),最坏情况下为O(n2)。

空间复杂度

插入排序的空间复杂度为O(1)。

技巧

  1. 在内层循环中,可以通过将待插入元素与已排序序列的最后一个元素进行比较,而不是逐个比较已排序序列的元素,以提高效率。
  2. 可以使用二分查找来在已排序序列中找到待插入元素的插入位置,以进一步提高效率。

结论

坚持自己的梦想,即使没有翅膀也能飞翔

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

相关文章:

  • 荥阳市城乡建设规划网站网站开发与维护视频教程
  • 温州建设监理协会网站指数基金
  • 试卷a《网站建设与管理》设计一套企业网站多少钱
  • 苏州网站建设方案策划电商网站建设培训班
  • 网站建设分析从哪几个方面wordpress推广浏览插件
  • 湖北聚四方建设有限公司网站html网页设计作业源代码
  • 网站的建设需要多少钱如何创建问卷网站
  • 东莞小学网站建设wordpress缩略图圆角阴影
  • 重庆网站建设总结与体会dw怎么做phpcms网站
  • saas建站和开源建站的区别软件外包公司如何找客源
  • 哪种技术做网站容易论文答辩做网站用的字体
  • 2019年云南建设银行招聘网站男男做暧网站免费
  • 做网站的后台开发需要会些什么百度优化师
  • 网站制作公司备案眉山建设中等职业技术学校 网站
  • 手机评测网站龙岩网页制作公司
  • 电子工程设计网站建设网站都需要准备什么材料
  • 网站开发和上传中错误的是主题 外贸网站 模板
  • 做视频网站代码.tv做网站怎么样
  • 客户关系管理案例经典大连做网站seo
  • 东莞建网站平台自己做一个网站要多少钱
  • 什么是网站后台建设建筑人才网招聘官网首页
  • 页面看不到网站wordpress文章链接跳转
  • 软件界面设计与色彩搭配苏州网页优化服务
  • 金融网站如何做设计图片网站 模板
  • 自己做网站能否赚钱6中职高一网站建设试题
  • 安徽省驻房城乡建设官方网站关于做网站的合同
  • php网站开发教材微擎pc网站开发
  • 网站建设及系统开发网站照片上传不了怎么办
  • 品牌网站建设找哪家3yx这个网站做刷单
  • 网站建设征求意见稿网页设计dw实训报告