随GCTY
1.用常数1来取代运行时间中所有加法常数。
2.修改后的运行次数函数中,只保留最高阶项
3.如果最高阶项存在且不是1,则去除与这个项相乘的常数。
如果sum = (1+n)*n/2这条语句再执行10遍,
因为这与问题大小n的值并没有关系,所以这个算法的时间复杂度仍旧是O(1),我们可以称之为常数阶
https://www.jianshu.com/p/f4cca5ce055a
ElemType是数据结构的书上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体
给小灰一条长16寸的面包,小灰每5天吃掉面包剩余长度的一半,第一次吃掉8寸,第二次吃掉4寸,第三次吃掉2寸...
...那么小灰把面包吃得只剩下1寸,需要多少天呢?
这个问题翻译一下,就是数字16不断地除以2,除几次以后的结果等于1?这里要涉及到数学当中的对数,
以2位底,16的对数,可以简写为log16。
因此,把面包吃得只剩下1寸,需要 5 X log16 = 5 X 4 = 20 天
十进制数N和其他d进制数的转换基于下列原理:
N = (N div d)×d + N mod d (div 为整除,mod为求余)
有n个元素依次进栈,则出栈序列有多少种:https://blog.csdn.net/sakyaer/article/details/28926751
https://blog.csdn.net/rainchxy/article/details/78189472
顺序队列是队列的顺序存储结构由于队列的队头和队尾的位置是变化的,
设置两个指针front和rear分别指示队头元素和队尾元素在向量空间中的位置,它们的初值在队列初始化时均应设置为0。
试比较顺序存储结构和链式储蓄结构的优缺点
链式存储结构:
(1)占用额外的空间以存储指针(浪费空间)
(2)存取某个元素速度慢
(3)插入元素和删除元素速度快
(4)没有空间限制,存储元素的个数无上限,基本只与内存空间大小有关.
顺序存储结构:
(1)空间利用率高
(2)存取某个元素速度快
(3)插入元素和删除元素存在元素移动,速度慢,耗时
(4)有空间限制,当需要存取的元素个数可能多于顺序表的元素个数时,会出现"溢出"问题.当元素个数远少于预先分配的空间时,空间浪费巨大.
在存取元素频繁,但删除或插入操作较少的情况宜用顺序表.堆排序,二分查找适宜用顺序表.
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,
进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
一般队列的存储结构是顺序存储,当队列的存储结构是链式存储结构时
(即队列中每个元素都包含一个指向其后继的指针,最后一个元素指针为null),就是链式队列,和链栈同理。
双端队列 分类:输出受限的双端队列(允许在一端进行插入和删除,但在另一端只允许插入的双端队列称为输出受限的双端队列)
输入受限的双端队列(允许在一端进行插入和删除,但在另一端只允许删除的双端队列称为输入受限的双端队列)
c++ c语言都可以连等
typedef struct Node{
int elem;
struct node * next;
}node,*LinkList;
对于LinkList L: L是指向定义的node结构体的指针,可以用->运算符来访问结构体成员,即L->elem, 而(*L)就是个Node型的结构体了,可以用点运算符访问该结构体成员,即(*L).elem;
对于LinkList *L: L是指向定义的Node结构体指针的指针,所以(*L)是指向Node结构体的指针,可以用->运算符来访问结构体成员,即(*L)->elem,当然,(**L)就是Node型结构体了,所以可以用点运算符来访问结构体成员,即(**L).elem;
1.二分查找的时间复杂度
假使总共有n个元素,那么二分后每次查找的区间大小就是n,n/2,n/4,…,n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数。
最坏的情况是K次二分之后,每个区间的大小为1,找到想要的元素
令n/2^k=1,
可得k=log2n,(是以2为底,n的对数),所以时间复杂度可以表示O()=O(logn).
前缀中缀后缀表达式:https://www.cnblogs.com/chensongxian/p/7059802.html
return; 不带返回值的return语句只能用于返回类型为void的函数
随GCTY的更多相关文章
- SpringMVC与MyBatis整合之日期格式转换
在上一篇博客<SpringMVC与MyBatis整合(一)——查询人员列表>中遗留了日期格式转换的问题,在这篇记录解决过程. 对于controller形参中pojo对象,如果属性中有日期类 ...
- zTree开发下拉树
最近,因为工作需要一个树形下拉框的组件,经过查资料一般有两种的实现方法.其一,就是使用zTree实现:其二,就是使用easyUI实现.因为公司的前端不是使用easyUI设计的,故这里我选择了zTree ...
- 【python之旅】python的模块
一.定义模块: 模块:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py ,对应的模块名就是test) 包:用来从逻 ...
- 完善GDAL与OpenCV间的数据格式转换与影像分块读写
本博客为原创内容,未经博主允许禁止转载,商用,谢谢. 一.前言 关于GDAL与openCV间的数据格式转换,在我之前的博客中已有简要说明,这里,由于最近工作上经常用到openCV里的函数进行图像处理, ...
- 移动开发之【微信小程序】的原理与权限问题以及相关的简易教程
这几天圈子里到处都在传播着这样一个东西,微信公众平台提供了一种新的开放能力,开发者可以快速开发一个小程序,取名曰:微信公众平台-小程序 据说取代移动开发安卓和苹果,那这个东东究竟是干吗用的?但很多人觉 ...
- eclipse中maven install提示编码GBK的不可映射字符
今天在eclipse中使用Maven编译项目源代码时,结果如下了如下的错误 在Java源码中没有提示任何报错,即便是改掉项目编码也是不行,如下图所示:
随机推荐
- Solidity(address的四个方法)
address的四个方法send,call,callcode,delegatecall 例子:发送以太币的send方法//下面是send方法,涉及到以太币的情况可能用到payable,senddemo ...
- js之雪花飘落
有很多网站都有雪花或花瓣飘落的特效,看上去很好看.我来用js实现这个效果. 在写代码之前可以先引入bass.css对样式做下处理: 1.html部分 先建一个文件夹,在body中插入如下代码 < ...
- tensorflow中文教程
飞机票--->走你~~~ 飞机票 http://blog.csdn.net/lenbow/article/details/52152766
- Confluence 6 手动备份站点
Confluence 被配置自动备份数据,使用压缩的 XML 格式.同时你也可以通过 Confluence 的 管理员控制台(Administration Console)手动进行备份. 你需要具有 ...
- Confluence 6 数据中心的 SAML 单点登录最佳实践和故障排除
最佳实践 SAML 授权仅仅在有限的时间进行校验.你需要确定运行你的应用的计算机时间与 IdP 的时间是同步的. 如果你应用中的用户和用户组是通过用户目录进行配置的,你通常希望用户来源目录和你的 Id ...
- 探索一个NSObject对象占用多少内存?
1 下面写代码测试探索NSObject的本质 Objective-C代码,底层实现其实都是C\C++代码 #import <Foundation/Foundation.h> int mai ...
- 高性能JavaScript读后感
这本书让lz对js性能优化有了更深刻的理解,现在因为我们通常用第三方构建工具webpack.gulp等诸如此类,之前总是听说什么dom操作影响性能呢,对这个概念总是有点模糊,但看完这本书之后后,相对而 ...
- 简化版的AXI-LITE4和配合使用的RTL
////////////////////////////////////////////////////////////////////////////////// // // The ZYNQ FI ...
- day 13 装饰器
装饰器基础 装饰器的目的是为了给被装饰 对象,增加新功能,或者说增加某种能力 在程序中工具就是函数 如此一来,装饰器指的就是一个函数,被装饰着也是一个函数 总结;装饰器就是用一个函数去拓展另外一个已存 ...
- bzoj 1222
比较简单的背包dp,设计状态f[i][j]表示到了前i个物品,第一台机器加工时间为j,第二台机器加工所用的最小时间,然后背包转移即可 本题卡空间,需要滚动数组优化 本题卡时间,稍微卡下常就行 #inc ...