自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(246)
  • 资源 (2)
  • 收藏
  • 关注

原创 可视化图解算法:二叉树的层序遍历

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。

2025-04-03 11:02:57 598

原创 可视化图解算法: 二叉树的后序遍历

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。

2025-04-01 10:37:33 1001

原创 可视化图解算法: 二叉树的中序遍历

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-31 18:14:04 962

原创 可视化图解算法: 二叉树的前序遍历

对于二叉树的相关算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-29 11:01:52 1023

原创 可视化图解算法:递归基础

写递归代码的关键就是找到如何将大问题分解为小问题的规律,并且基于此写出递推公式,然后再推敲终止条件,最后将递推公式和终止条件翻译成代码。

2025-03-28 11:22:48 439

原创 可视化图解算法:删除有序(排序)链表中重复的元素-II

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-27 11:39:33 693

原创 可视化图解算法:删除有序(排序)链表中重复的元素

删除有序链表中重复的元素(重复的元素需要保留一个),可以通过以下步骤完成:(1)定义操作节点指针变量;(2)循环删除链表重复节点;(3)返回头结点。

2025-03-25 19:39:40 917

原创 可视化图解算法:链表的奇偶重排(排序链表)

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-24 17:27:47 929

原创 可视化图解算法:单链表的排序(排序链表)

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-24 11:07:14 786

原创 可视化图解算法:判断一个链表是否为回文结构(回文链表)

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-22 11:55:25 944

原创 可视化图解算法:链表相加( 两数相加)

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-21 11:11:08 822

原创 可视化图解算法: 两个链表的第一个公共节点

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-20 10:57:50 846

原创 可视化图解算法:删除链表中倒数第n个节点

删除链表的倒数第n个节点 ,可以通过以下步骤完成:(1)定义快慢指针;(2)移动快指针;(3)快慢指针一起移动;(4)执行删除节点操作;(5)特殊情况处理。难点是很容易忽略特殊情况的处理。

2025-03-19 11:33:16 1102

原创 可视化图解算法:链表中倒数(最后)k个结点

获取链表的倒数(最后)第k个节点,可以通过快慢指针快速获取到:- 定义快慢指针。- 移动快指针 k 次(每次移动1个节点)。- 快慢指针一起移动(每次移动1个节点),一直到快指针fast指向Null停下来。- 快指针指向为None,慢指针指向的节点为:倒数第k个节点。

2025-03-18 11:28:31 725

原创 可视化图解算法:链表中环的入口节点(环形链表 II)

环入口节点的查找可以采用以下步骤:- 定义快慢指针;- 移动快慢指针;- 更改快指针fast的指向- 快慢指针第二次相遇,相遇节点为环入口节点。

2025-03-17 17:20:21 719

原创 可视化图解算法:判断链表中是否有环(环形链表)

判断链表是否存在环有个**小技巧**:**快慢指针法**。定义2个指针变量(即快慢指针),初始化时快慢指针都指向头节点,每次快指针每次移动 2 个节点,慢指针每次移动 1 个节点。如果 快指针指向的节点为null或者快指针指向节点的下一个节点为空,则链表没有环;如果快慢指针相遇则有环。

2025-03-17 11:02:22 794

原创 可视化图解算法:合并k个已排序(升序)的链表

本题可以通过小顶堆完成,具体步骤为: - 定义(引用)小顶堆;- 每个链表的第一个节点放入堆中;- 从堆中取出元素(取出的元素为节点值最小的),构成新的链表;- 返回新链表的头节点。难点在于小顶堆的应用。

2025-03-14 12:22:40 921

原创 可视化图解算法:合并两个有序(排序)的链表

合并两个有序的链表,可以通过:定义临时虚拟头节点与指针变量、循环合并两个链表、链接剩余链表节点和返回头节点4步来完成,本题的难点在于思路,即想到用虚拟头结点tmpHead、操作节点cur、链表1与链表2值比较节点h1、h2。

2025-03-13 10:39:48 688

原创 可视化图解算法:链表中的节点每k个一组翻转(反转)

链表K个一组进行翻转,可以通过3步完成。第一步:获取链表长度;第二步:进行groups组的反转;第三步:衔接剩余的节点。难点是对一组反转之后的链表节点如何连接,即在操作链表节点时指针变量的定义、移动。

2025-03-12 11:44:02 680

原创 可视化图解算法:链表指定区间反转

对于链表内指定区间反转的反转,可以通过5步操作完成:(1)定义一个临时链表头节点;(2)定义(找到)截取区间外的指针变量:pre、post,截取区间指针变量:left、right;(3)切断链接;(4)翻转局部链表;(5)接回原来的链表。对于第4步局部反转用到了上一篇所讲的内容。

2025-03-11 17:07:47 659

原创 可视化图解算法:反转链表

本题的难点在于定义出3个指针变量,pre(序节点)、cur(当前操作的节点)和nxt(当前操作的下一个节点),并在初始化的时候明确指向,之后就可以更改cur的指针域(nxt)、移动pre、cur。给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据结构笔试面试算法-Go语言版,bilibili课堂,哔哩哔哩课堂,哔哩哔哩,Bilibili,B站,弹幕。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。

2025-03-10 17:53:22 939

原创 可视化+图解:轻松搞定链表

对于链表的相关操作,我们总结了一套【可视化+图解】方法,依据此方法来解决链表相关问题,链表操作变得易于理解,写出来的代码可读性高也不容易出错。

2025-03-07 19:13:54 628

原创 为什么要学习数据结构与算法

向大家介绍一门非常重要的课程——《数据结构与算法》。这门课不仅是计算机学科的核心,更是每一位开发者从“小白”迈向“高手”的必经之路。

2025-03-04 16:12:14 361

原创 Python指定函数参数和返回值的类型

函数注解本质上是Python语言中特殊的注释语法,可以提供更好的代码可读性和明确度,但并不会进行类型检查。在函数内部,仍然可以传递任何类型的参数和返回任何类型的值。(Function Annotation)来指定函数参数和返回值的类型。函数注解是Python 3引入的一种语法,允许。如果要进行类型检查,可以在函数中使用isinstance或其他类型检查函数来验证函数的参数和返回值是否符合预期类型。来指定函数参数和返回值的类型, 但这并不会影响函数的行为。

2023-07-05 11:24:35 2122

原创 国密sm2不同平台对接

4.如go对应的tjfoc/gmsm/sm2库加解密的密文前是添加了04的,如果要解密 https://webencrypt.org/sm2samplecryptjs/ 这里加密的密文,需要在密文前添加04。2.如这里的 https://webencrypt.org/sm2samplecryptjs/ 公钥前添加了04,但是密文前没有04.1.对不同的平台(语言)国密接口对接时,需要检查开始位,如公钥前加0x04、密文前加0x04,其实04代表未压缩。)加密的数据,到go服务程序解密,会出现。

2023-06-05 14:41:17 1100 1

原创 国密SM4——golang的实现

SM4算法使用32轮的非线性迭代结构。SM4在最后一轮非线性迭代之后加上了一个反序变换,因此SM4中只要解密密钥是加密密钥的逆序,它的解密算法与加密算法就可以保持一致。1. CBC分组模式(Cipher Block Chaining ,密码分组链模式)以上代码中,SM4用到的库为:github.com/tjfoc/gmsm。SM4算法是我国商用密码标准,其前身是SMS4算法。整体逻辑结构如图所示,经过32轮变换把明文变换为密文。SM4算法类似于国际密码算法AES。,分组长度和密钥长度均。

2023-05-08 14:51:19 3744

原创 国密SM3——golang的实现

SM3密码杂凑算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3适用于商用密码应用中的数字签名和验证,是在[]基础上改进实现的一种算法,其。

2023-05-08 14:37:49 1237

原创 国密SM2——golang的实现

由于 RSA 算法和 ECC 算法这一明显不同,使得 ECC 算法的单位安全强度高于 RSA算 法。由于SM2是基于椭圆曲线的公钥加密算法,与RSA一样都是非对称密码算法。SM2是国家密码管理局于2010年12月17日发布的。也就是说,要达到同样的安全强度,

2023-05-08 14:28:31 2972 1

原创 Golang slice(Go语言切片)元素前序追加

Golang slice(Go语言切片)元素前序追加

2022-06-11 18:25:57 3329

原创 Golang中json.Marshal避坑

1、介绍Golang库自带了json序列化与反序列化方法,type Marshalertype Marshaler interface { MarshalJSON() ([]byte, error)}实现了Marshaler接口的类型可以将自身序列化为合法的json描述。type Unmarshalertype Unmarshaler interface { UnmarshalJSON([]byte) error}实现了Unmarshaler接口的对象可

2022-04-22 17:53:13 11907

原创 Python列表生成式

列表生成式是一种基于其他iterable(如集合、元组、其他列表等)创建列表的方法。它还可以用更简单、更吸引人的语法表示for和if循环。列表生成式比for循环要快得多。列表生成式的基本结构如下:List=[ expression for item in iterable (if conditional) ]示例:if __name__ == '__main__': print('+++++++++++++++++ 简单用法 ++++++++++++++++') wo.

2022-04-13 10:39:05 1070

原创 RSA no_padding加密(modulus、exponent构造公钥)

RSA no_padding加密(modulus、exponent构造公钥)

2022-01-26 15:42:18 9104 1

原创 Golang避坑——方法接收者&&内存泄露

Golang避坑——内存泄露&&方法接受者

2022-01-05 18:22:51 1099

原创 循环队列——Golang实现

循环队列——Golang实现

2021-12-26 12:14:42 1361 4

原创 hashset——Golang实现

hashset——Golang实现

2021-12-26 11:53:15 769

原创 Trie 树——Golang实现

Trie 树——Golang实现

2021-12-26 11:29:23 1464

原创 BitMap算法——Golang 实现

BitMap算法——Golang 实现

2021-12-26 10:55:22 2907 1

原创 Go语言(Golang)超时机制

机制1:select+time.After通过select+time.After方法实现超时机制,示例代码如下:package mainimport ( "context" "fmt" "runtime" "time")func main() { timeout1() println("Goroutine数量:",runtime.NumGoroutine()) time.Sleep(time.Second*10) println("Goroutine数量:",runtim

2021-11-21 22:51:47 2658

转载 Go语言内存泄露

Golang(Go语言)内存泄露

2021-11-21 21:59:17 3913 1

原创 设计模式——Go语言(Golang)版:24_迭代器模式

示例代码:package mainimport ( "fmt")//迭代器接口type Iterator interface { First() IsDone() bool Next() interface{}}//迭代的数据集type Aggregate interface { Iterator() Iterator}type Numbers struct { start, end int}//实现迭代器接口对应的功能type NumbersIterator s

2021-04-08 09:08:28 418

go连接MySQL包

go连接MySQL包:mysql比较优秀的一个驱动是:github.com/go-sql-driver/mysql

2018-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除