我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待.本篇笔记我们先不考虑代码可读性.规范性.可移植性那些角度. 在我们嵌入式中,我们需要根据实际资源的情况来设计我们的代码.比如当我们能用的存储器空间极其有限的情况,我之前就有遇到这样子的情况,我能用的flash空间只有4KB,但是要实现的功能很多,稍微不注意就会超了,这种情况下我们就得多考虑程序占用方面的问题.如果我们的存储器空间很足,有时候可以牺牲一些存储器空间来换取我们程序的运行速度.查表法就是 以空间换取时间 的典型例子.下面…
# ---- 对应时间戳怎么生成的? ---- /*TIME_CD TIME_CD1000000 000005000001 000005000002 000005000003 000005000004 000005000005 000010*/ 利用MySQL常用日期函数生成时间维度表 日期时间函数 按小时.按分钟.按秒生成 SELECT CURRENT_DATE(), CURRENT_TIME(), CURRENT_TIMESTAMP; # :: :: MySQL快速生成时间维度表 SET @…
实现目的: 测试: # 测试 加一秒 SECOND), INTERVAL SECOND); SECOND),'%H%i%s');# 第一秒 SECOND),'%H%i%s');# 最后一秒 SELECT CURRENT_TIME(); 完整代码: # ------------ 完整代码 ---------- SECOND), INTERVAL SECOND); # 第一秒 SECOND), INTERVAL SECOND);# 最后一秒 SECOND); SELECT @d0, @d1, @ti…
10进制转16进制,以及10进制转2进制,还有10进制转8进制,这些转换如果按照常规思路的话,会灰常的麻烦. 我们来看一下 10进制转16进制: 假如这里有一个十进制数字:35,我们的需求就是把这个35转成16进制的. 思路:先把35转换成二进制,然后二进制再转换16进制. 代码: class SearchTable { public static void main(String[] args) { String[] s = searchTable(35,3,7); /** * *for(in…
回到目录 空间与时间 空间换时间是在数据库中经常出现的术语,简单说就是把查询需要的条件进行索引的存储,然后查询时为O(1)的时间复杂度来快速获取数据,从而达到了使用空间存储来换快速的时间响应!对于redis这个k/v存储系统来说,复杂的查询不是它所建议的,它的优势在于通过key快速定位数据,它定位数据的速度与数据多少没有直接关系,无论是1万还是1亿数据,它定位的时间复杂度都是O(1),而在实际使用中,可能不简单使用key定位数据就够了,可能还需要数据里的某个属性去定位数据,这种情况第一感觉不能用…
7.数组: 几乎是最常用的数据类型了... 数组就是指一系列同一类型数据 的集合.数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数 组的长度. 常规的数组声明方法: [32]byte // 长度为32的数组,每个元素为一个字节 [2*N] struct {x , y int32} //复杂类型数组 [1000]*float32 //指针数组 [3][5]int //二维数组 [2][2][2]float64 // 等同于[2]([2]([2]float64))…
5.2  内联函数 通过5.1节的学习我们知道,系统为了实现函数调用会做很多额外的幕后工作:保存现场.对参数进行赋值.恢复现场等等.如果函数在程序内被多次调用,且其本身比较短小,可以很快执行完毕,那么,在完成这个函数调用的时候,系统花在完成这些幕后工作上的时间将远大于最核心的函数本身执行的时间,这就像好钢用在了刀背上,将极大地减低程序的性能.为了解决这个问题,C++提供了内联函数的机制,通过将函数代码内联到函数调用的地方,避免函数调用过程中的那些幕后工作,从而提高这种短小的函数被重复多次调用的性…
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执行某些操作.或解决某个问题而编写的一系列有序指令的集合:(就是某段有序指令的集合:) 指令:上级下达给我的需要执行的命令. 算法:是一个定义明确的计算过程.就是一系列的计算步骤.算法就是.完成某个任务的一系列步骤. 好用的C和C++的开发工具:Code:Blocks <专业的C和C++开发工具>程…
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var a = 10` `a := 10` (推荐写法) 注意::= 左侧的变量不能是被声明过的 4.定义常量:const关键字定义常量 5.以大写字母开头的常量在包外可见 6.Go语言内置的数据类型: 布尔型 bool 整形 int8.int16 浮点型 float32.64 复数 complex64 字…
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这个内存地址可能保存者一个基本数值. 指针变量也是有类型的.它需要知道自己保存的内存地址指向数值的类型,因为不同的数值类型占用的空间大小是不同的. 在指针中有两个重要的符号需要了解: &和. 其中&是用于获取普通变量的地址,而是获取内存地址指向的数值.看起来就是一对反向操作. 另外在声明指针时也…