golang
2022-01-05
40
排序简介
堆是一个近似完全二叉树的结构大顶堆, 每个节点的值都大于或等于其他子节点的值, 用于升序排列
小顶堆, 每个节点的值都小于或等于其他子节点的值, 用于降序排列先创建一个小顶堆, 堆首值(最小值)和堆尾互换位置,即找到最小值;再把堆的长度-1,再找出次小值;不断重复这个过程,直到排序完成。
图解参考https://www.cnblogs.com/chengxiao/p/6129630.html
复杂度最佳情况:T(n) = O(nlogn)
最坏情况:T(n) = O(nlogn)
平均情况:T(
2022-01-05
35
排序简介
找出数组的最大值和最小值,创建新数组[max+1], 原数组值等于新数组下标时, 新数组值加一,最后把新数组下标按值的个数输出即排序完成
图解参考https://www.cnblogs.com/kyoner/p/10604781.html
复杂度最佳情况:T(n) = O(n+k)
最坏情况:T(n) = O(n+k)
平均情况:T(n) = O(n+k)
空间复杂度:O(k)
稳定性:稳定
排序方式:Out-placegolang实现
package mainimport "fmt"// 计数
2022-01-05
37
byte本指是int8,操作的基本单位是字节,适合只适合表达ascii字符
rune本质是int32,操作的基本单位是字符,可以处理所有的字符,用来表示utf8,unicode等编码
string本指是[]byte
byte/rune转string
var b []byte="abc"
var r []rune="cdr"
var s1 string=string(b)
var s2 string =string(r)
string转byte/rune
var s string = "abc"
r :=
2022-01-05
44
手撸golang 仿spring ioc/aop 之7 扫码2
缘起
最近阅读 [Spring Boot技术内幕: 架构设计与实现原理] (朱智胜 , 2020.6)
本系列笔记拟采用golang练习之
Talk is cheap, show me the code.
Spring
Spring的主要特性:
1. 控制反转(Inversion of Control, IoC)
2. 面向容器
3. 面向切面(AspectOriented Programming, AOP)源码gitee地址:
https:
2022-01-05
72
目录一、安装二、使用2.1 CPU2.2 Memory2.3 Host2.4 Disk2.5 net IO三、net3.1 获取本机IP的两种方式更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.htmlpsutil是一个跨平台进程和系统监控的Python库,而gopsutil是其Go语言版本的实现。本文介绍了它的基本使用。Go语言部署简单、性能好的特点非常适合做一些诸如采集
2022-01-05
54
目录一、类型别名和自定义类型二、自定义类型三、类型别名四、类型定义和类型别名的区别五、结构体六、结构体的定义七、结构体实例化7.1 基本实例化7.2 匿名结构体7.3 创建指针类型结构体7.4 取结构体的地址实例化八、结构体初始化8.1 使用键值对初始化8.2 使用值的列表初始化九、结构体内存布局十、面试题十一、构造函数十二、方法和接收者12.1 指针类型的接收者12.2 值类型的接收者12.3 什么时候应该使用指针类型接收者十三、任意类型添加方法十四、结构体的匿名字段十五、嵌套结构体15.1 嵌套匿名结
2022-01-05
47
目录一、基本数据类型二、整型2.1 特殊整型2.2 数字字面量语法(Number literals syntax)三、浮点型四、复数五、布尔值六、字符串6.1 字符串转义符6.2 多行字符串6.3 字符串的常用操作七、byte和rune类型7.1 修改字符串八、类型转换九、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.htmlGo语言中有丰富的数据类型,除了基本的整
2022-01-05
57
目录四、flag参数类型五、定义命令行flag参数六、flag.Parse()八、完整示例8.1 定义8.2 使用更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.htmlGo语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。# 一、os.Args如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。`