托马斯 の 博客
选择排序 选择排序
实现原理首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的实现过程: 在不断未排序的区间中找到最小的元素
插入排序 插入排序
实现原理插入排序的原理是:我们将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素。插入算法的核心思想是取未排序区间中的元素,在已排序区间中找到合适的插入位置将其插入,并保证已排序区间数据一
冒泡排序 冒泡排序
要给大家介绍的是基于选择的排序算法,常见基于选择的排序算法有冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选择排序算法的时候,通常会根据以下几个维度来考虑: 时间复杂度 空间复杂度(对内存空间的消耗) 算法的稳定性(如果待排序的
八种排序算法的稳定性分析 八种排序算法的稳定性分析
TIPs: 一个算法稳定是指,如果A=B,A在B前面,在进行排序算法后,仍然保持A在B前面。 算法分类:常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线
排序算法场景概念解读 排序算法场景概念解读
什么是稳定排序、原地排序、时间复杂度、空间复杂度: 稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序。 非稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能
实现自己的Composer包 实现自己的Composer包
一、Composer简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 二、准备工作 一个github账号 一个packagist账号 一台安装composer的开发机
2022-04-05
Go跨平台编译(交叉编译) Go跨平台编译(交叉编译)
跨平台编译跨平台编译,也叫交叉编译,我可以在win平台上,编译成linux平台可执行的文件。这也是Go备受青睐的原因,像java,python,php等语言,我们开发一般是在win平台上开发,部署的时候在linux上部署,在处理第三方依赖
Go-内置类型和内置函数 Go-内置类型和内置函数
1. 内置类型 值类型bool -- 布尔类型 string -- 8位byte序列构成的字符串,约定但不必须是utf-8编码的文本。字符串可以为空但不能是nil,其值不可变。 int -- 至少32位的有符号整形,但和int32/run
Go-init函数和mian函数 Go-init函数和mian函数
init函数go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性。有下面的特征: init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等 每个包可以拥有多个init函数 包的每个源文件
Go实现单链表 Go实现单链表
单链表NNode: 包含一个数据域,一个指针域(指向下一个节点)LList : 包含头指针 (指向第一个节点),链表长度链表的特点:不能随机访问,只能根据链一个一个查找,查找的时间复杂度是 O (n) 示例代码// +-----------
数学基础 数学基础
学习数据结构,需要具备以下数学基础知识,这里只是简单提及一些公式和原理,具体的内容和深入学习请参考《高等数学》《离散数学》《数论》相关知识。 1. 指数指数是幂运算aⁿ(a≠0)中的一个参数,a为底数,n为指数,指数位于底数的右上角,幂
计算机体系 计算机体系
CPU基础CPU即处理器,是计算机中控制数据操控的电路。它主要由三部分构成:算术/逻辑单元、控制单元和寄存器单元。它们的作用分别为执行运算、协调机器活动以及临时存储。 CPU与主存CPU中的寄存器分为通用寄存器和专用寄存器,通用寄存器用于临
2 / 4