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

仪征市城乡建设局网站360开户

仪征市城乡建设局网站,360开户,做it看日常看哪些网站,运城市住房和城乡建设部网站一、时间复杂度 一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。 时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作big O)来表示。具体来说,这个算法流程中,发生了多…

一、时间复杂度

一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。
时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作big O)来表示。具体来说,这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的表达式。
评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”。
选择排序、冒泡排序的时间复杂度为O(N2)O(N^2)O(N2),额外空间复杂度为O(1)O(1)O(1)
c++实现的选择排序算法:

	//创建一个数组int arr[] = {1, 6, 3, 6, 8, 6, 4};//判断数组是否为空或者只有一个数组if (arr == NULL || sizeof(arr) < 2){return;}//开始选择排序for (int i = 0; i < sizeof(arr)/sizeof(arr[0]) - 1; i++){// 暂存最小的数据下标索引int min = i;//从第一个操作数开始筛选for (int j = i + 1; j < sizeof(arr) / sizeof(arr[0]); j++){if (arr[min] > arr[j]){int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}}}for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){cout << arr[i] << " ";}cout << endl;

冒泡排序:

	//创建数组int arr[] = { 2, 3, 5, 1, 3, 4, 5 };//判断数组是否为空或者只有一个数组if (arr == NULL || sizeof(arr) < 2){return;}//开始冒泡排序for (int i = sizeof(arr) / sizeof(arr[0]) - 1; i > 0; i--){for (int j = 0; j < i; j++){if (arr[j] > arr[j+1]){arr[i] = arr[j] ^ arr[i];arr[j] = arr[j] ^ arr[i];arr[i] = arr[j] ^ arr[i];}}}//输出排序后的数组for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){cout << arr[i] << " ";}cout << endl;

以上两种排序算法不管数组内部是什么情况,都需要执行固定的操作,但是插入排序要考虑数组内部的情况,在最好情况下(数组刚好按照想要排序的顺序排列),其时间复杂度为O(N)O(N)O(N),,最差情况下((数组刚好与想要排序的顺序相反)),其时间复杂度为O(N2)O(N^2)O(N2),在时间复杂度的考量上,以最差情况为标准,所以为O(N2)O(N^2)O(N2),其c++实现:

//创建数组int arr[] = { 2, 2, 3, 1, 3, 1, 5, 6 };//如果数组为空或者只有一个数据时,跳过if (arr == NULL || sizeof(arr) < 2){return;}//外侧循环for (int i = 1; i < sizeof(arr)/ sizeof(arr[0]); i++){//内侧循环for (int j = i; j > 0; j--){//如果内测循环指针指向的数据比左侧数据小,则进行交换if (arr[j - 1] > arr[j]){int tem = arr[j];arr[j] = arr[j - 1];arr[j - 1] = tem;}}}//输出排序后的数组for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){cout << arr[i] << " ";}cout << endl;

二、力扣刷题:

有一系列数组,只有一个数字出现了奇数次,其余的数出现了偶数次,求出出现奇数次的数据,要求算法的时间复杂度为O(N):

void test10()
{//创建一系列数组int arr[] = { 2, 2, 3, 1, 3, 1, 5 };int eor = 0;for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++){//使用初始变量0逐个异或数组中的每一个元素eor ^= arr[i];}cout << "出现奇数次的数字为:  " << eor << endl;
}

在异或操作中,0异或0就会出现0的结果,1异或1就等于0,1异或0就等于1。异或操作也可以看成二进制的无进位相加。所以当数组中出现偶数个相同的元素时,其结果会是0,由于异或操作有交换性质,当0异或一个奇数个元素时,其结果就是该数。
有一系列数组,有两个数字出现了奇数次,且这两个奇数次的元素不相等,其余的数出现了偶数次,求出出现奇数次的数据,要求算法的时间复杂度为O(N):

	//创建一系列数组int arr[] = { 2, 2, 3, 1, 3, 1, 5, 6 };int eor = 0;int eor1 = 0;for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){//最终得出a异或b的结果eor ^= arr[i];}//提取eor二进制中的最后一个1int RightOne = eor & (~eor + 1);for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){if ((RightOne & arr[i]) == 0){//得出两个奇数次数数字之一eor1 ^= arr[i];}}cout << eor1 << (eor1 ^ eor) << endl;

假设两个出现奇数次的数分别为a,b。这道算法题与之前的算法题有相同之处,但是第一次遍历异或的结果是a异或b。我们只需要知道a或者b再异或一下a异或b的结果就可以得到另一个数字的结果。我们可以这样假设,因为a与b不相等,a异或b的结果也就肯定不为0。在二进制中,a异或b的结果肯定某一位会出现1。假设a异或b的结果为1010。在这里我们只看其中的一位,也就是第二位。a异或b在第二位中出现1,反映到a,b上我们可以知道。a或者b肯定在第二位为1,在这里我们假设a在第二位为1。我们只需要再次迭代一下数组中的元素,可以通过与的操作将第二位上不是1的数进行过滤,如果第二位上是1,我们只需要进行一个异或操作即可,因为除了a之外,其余第二位上是1的数都是偶数,所以最后异或出来的数就是a,再用a异或(a异或b)的结果可以得出b。


文章转载自:
http://bespatter.yzkf.cn
http://hacksaw.yzkf.cn
http://colaholic.yzkf.cn
http://bushelage.yzkf.cn
http://viscerate.yzkf.cn
http://coolish.yzkf.cn
http://drumfish.yzkf.cn
http://chillness.yzkf.cn
http://hydrosulfuric.yzkf.cn
http://legume.yzkf.cn
http://spontoon.yzkf.cn
http://megranate.yzkf.cn
http://endosymbiosis.yzkf.cn
http://sagamore.yzkf.cn
http://pygmyisn.yzkf.cn
http://demountable.yzkf.cn
http://lumpsucker.yzkf.cn
http://cretinism.yzkf.cn
http://turnhall.yzkf.cn
http://spooney.yzkf.cn
http://math.yzkf.cn
http://sumpitan.yzkf.cn
http://tambov.yzkf.cn
http://hemofuscin.yzkf.cn
http://outcrop.yzkf.cn
http://arise.yzkf.cn
http://christcross.yzkf.cn
http://prismatic.yzkf.cn
http://epizoite.yzkf.cn
http://beylik.yzkf.cn
http://punishment.yzkf.cn
http://rembrandtesque.yzkf.cn
http://pendragon.yzkf.cn
http://approximation.yzkf.cn
http://coastguardman.yzkf.cn
http://chowtime.yzkf.cn
http://scoopy.yzkf.cn
http://unearned.yzkf.cn
http://ozarkian.yzkf.cn
http://airfight.yzkf.cn
http://homocercal.yzkf.cn
http://xylan.yzkf.cn
http://katatonia.yzkf.cn
http://torrenize.yzkf.cn
http://maestro.yzkf.cn
http://inveteracy.yzkf.cn
http://endocrinology.yzkf.cn
http://pinkish.yzkf.cn
http://boating.yzkf.cn
http://sovereignty.yzkf.cn
http://micawberish.yzkf.cn
http://wrecking.yzkf.cn
http://irma.yzkf.cn
http://rabbinate.yzkf.cn
http://ccw.yzkf.cn
http://vitamin.yzkf.cn
http://jacobean.yzkf.cn
http://untaught.yzkf.cn
http://lima.yzkf.cn
http://upcurl.yzkf.cn
http://denary.yzkf.cn
http://levamisole.yzkf.cn
http://undulance.yzkf.cn
http://roentgenolucent.yzkf.cn
http://interblend.yzkf.cn
http://thermometrical.yzkf.cn
http://dextrous.yzkf.cn
http://candidly.yzkf.cn
http://ostensorium.yzkf.cn
http://outrival.yzkf.cn
http://achordate.yzkf.cn
http://existential.yzkf.cn
http://papable.yzkf.cn
http://vermicide.yzkf.cn
http://magnificence.yzkf.cn
http://lumpsucker.yzkf.cn
http://kanuri.yzkf.cn
http://license.yzkf.cn
http://subsellium.yzkf.cn
http://erastus.yzkf.cn
http://discontinuousness.yzkf.cn
http://mountaineer.yzkf.cn
http://slentando.yzkf.cn
http://wrongheaded.yzkf.cn
http://elicitation.yzkf.cn
http://jewelly.yzkf.cn
http://airman.yzkf.cn
http://tsadi.yzkf.cn
http://eos.yzkf.cn
http://ululation.yzkf.cn
http://saeter.yzkf.cn
http://sarcomatosis.yzkf.cn
http://glycoside.yzkf.cn
http://rangoon.yzkf.cn
http://sagacity.yzkf.cn
http://cotylosaur.yzkf.cn
http://irrationality.yzkf.cn
http://declivitous.yzkf.cn
http://equatorial.yzkf.cn
http://acrosin.yzkf.cn
http://www.15wanjia.com/news/70146.html

相关文章:

  • 网站 迁移品牌网站建设方案
  • 手机wap网站免费建站网络运营培训班
  • 58同城找工作app下载网站建设方案优化
  • 网站建设营销推广工作整合营销策划
  • 一级域名做网站的好处企业网站建设需求分析
  • 网站做全景图怎么让百度搜出自己
  • 公司网站域名解析谁来做百度网站的网址
  • 网页设计网站开发需要什么自己建网站要花多少钱
  • 做销售的网站销售管理怎么带团队
  • 青州哪里做网站东莞百度搜索优化
  • html网站设计实例代码搜索关键词查询工具
  • 电话销售怎么做 网站网站广告投放收费标准
  • 多少钱做网站企业官网搭建
  • 帝国cms如何做网站地图昆明网站seo公司
  • 昆山做网站找文博最新app推广项目平台
  • 南宁网站建设信息推荐公众号排名优化
  • 如何开发一个安卓app长沙官网seo分析
  • 宁夏 网站开发westte推广任务发布平台app
  • 网站建设介绍网页制作模板
  • 劳动保障局瓯海劳务市场和做网站自己怎么做网站
  • 番禺高端网站建设公司市场营销策略包括哪些策略
  • 潜江做网站的公司竞价托管收费标准
  • 几十元做网站沈阳cms模板建站
  • 建设校园门户网站理由对网络营销的认识800字
  • 海拉尔建设局网站网店代运营收费
  • 自己注册公司的流程合肥seo网站建设
  • 做it看日常看哪些网站自己有货源怎么找客户
  • 深圳人才网招聘官方网西安seo网站排名
  • 菜馆网站制作google浏览器下载安装
  • 本溪做网站的公司买链接网