以上快速排序和归并排序的空间复杂度不正确 图2没有的参考图1,以图2为准(对,就是懒得重新画图了) 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 O(n2) O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序 O ...
分类:
编程语言 时间:
2020-05-23 20:29:05
阅读次数:
74
冒泡排序 前置知识 确定数组需要传入两个参数: 数组的首地址和数组元素的个数 冒泡规则,假设一个 int a[5] 的数组,升序规则如下 ? 第一次排序 : 1. a[0]与a[1]比较,大的值放在a[1],小的值放在a[0]; 2. a[1]与a[2]比较,大的值放在a[2],小的值放在a[1]; ...
分类:
编程语言 时间:
2020-05-23 12:56:43
阅读次数:
52
本文所使用的golang为1.14,gdb为8.1。 一直以来对于函数调用都仅限于函数调用栈这个概念上,但对于其中的详细结构却了解不多。所以用gdb调试一个简单的例子,一探究竟。 函数调用栈的结构(以下简称栈) 栈包含以下作用: 存储函数返回地址。 保存调用者的rbp。 保存局部变量。 为被调用函数 ...
分类:
数据库 时间:
2020-05-23 09:37:23
阅读次数:
60
冒泡排序: 核心思想:每一轮找出最大的元素放在数组的最后面。 public static void BubbleSort(int[] a){ //外层循环,找每一轮的最大数放在末尾 for(int i=0;i<a.length;i++){ //内层循环,遍历数组,比较得出最大值 for(int j= ...
分类:
编程语言 时间:
2020-05-22 21:31:13
阅读次数:
54
1. new 和 make 二者堆上分配内存,但是它们的行为不同,适用于不同的类型; new 函数分配内存,make 函数初始化; new(T) 为每个新的类型T分配一片内存,初始化为 0 并且返回类型为*T的内存地址:这种方法 返回一个指向类型为 T,值为 0 的地址的指针,它适用于值类型如数组和 ...
分类:
其他好文 时间:
2020-05-22 14:27:41
阅读次数:
72
在GO中处理的话,比较方便。 而在python中的话,也就是短短几句代码 ...
分类:
编程语言 时间:
2020-05-22 12:35:31
阅读次数:
48
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要 小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时间复杂度为O(n2),最好 情况时间复 ...
分类:
编程语言 时间:
2020-05-22 12:33:48
阅读次数:
59
Golang写文件一般使用os.OpenFile返回文件指针的Write方法或者WriteString或者WriteAt方法,但是在使用这三个方法时候经常会遇到写入的内容和实际内容有出入,因为这几个函数采用的不是清空覆盖的方式,有时字符串或数组长度和文件内容不一致的时候只覆盖了一部分,这就需要在调用 ...
分类:
其他好文 时间:
2020-05-22 00:20:06
阅读次数:
97
docker是基于Golang语言实现的云开源项目。 docker的目标 Build,Ship and Run Any App Anywhere,即通过对应用组件的封装,分发,部署,运行等生命周期的管理,使应用及运行环境能做到一次封装,到处运行。 docker的概念 解决运行环境和配置问题软件容器, ...
分类:
其他好文 时间:
2020-05-21 23:56:43
阅读次数:
95
一,相关学习资料 studygolang: https://studygolang.com/articles/818 github地址:github.com/goconfig API gowalker源码:https://gowalker.org/github.com/Unknwon/goconfi ...
分类:
其他好文 时间:
2020-05-21 16:26:03
阅读次数:
53