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

建设中心小学网站8080端口wordpress

建设中心小学网站,8080端口wordpress,公路投资建设有限公司网站,青岛房产网描述 插入排序是一种简单直观的排序算法。它的基本思想是将一个待排序的数据序列分为已排序和未排序两部分,每次从未排序序列中取出一个元素,然后将它插入到已排序序列的适当位置,直到所有元素都插入完毕,即完成排序。 实现思路…

描述

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

实现思路

  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/796870/

相关文章:

  • 怎么做cms网站设计网页的工作叫什么
  • 做网站销售话术运城网站制作公司
  • wordpress收录差劲啊新乡网站搜索引擎优化
  • 搜集素材的网站建设银行明细网站能查多久
  • 上海html5网站制作公司信阳网站建设汉狮报价
  • 徐州市住房和城乡建设局网站首页做网站那几步
  • 惠州市建设交易中心网站佛山高端网站制作
  • 移动开发和网站开发注册城乡规划师考试题型
  • 网站建设自我评价怎么写比较好企业网站建设的策略
  • 东莞市建设安监监督网站首页多米诺网站建设服务
  • 珠海网站开发定制江苏省住房与城乡建设部网站
  • 英文公司网站设计asp网站后台编辑器
  • wordpress做微信支付河南网站推广优化公司
  • 医疗网站建设公司哪家好大连seo推广优化
  • 网上书城网站开发的数据字典腾讯云 wordpress搭建个人博客
  • 松江新桥网站建设js网页特效案例
  • t型布局网站的优缺点做网站优化词怎么选择
  • 电脑做系统ppt下载网站好做门户网站要多少钱
  • 岳阳网站建设解决方案搭建网站的价格
  • 江门做公司网站C语言做网站需要创建窗口吗
  • 网站建设趋势2017小程序代理好做吗
  • 江苏省工程建设标准定额网站自己装修设计软件
  • 新网网站建设个人怎么创建网站
  • 怎么做投资网站不违法普洱建设工程网站
  • 下列软件属于网站开发工具的是产品创意设计
  • 网站做快速排名是怎么做的呢网站服务器和直播服务器一样吗
  • 徐州住房与建设局网站苏州建设工程招标官方网站
  • 建网站软件工具门户网站如何做seo
  • 温州网站建设公司排名seo怎么优化软件
  • 怎么写网站建设维护推广合同广东龙盛建设工程有限公司